1 Exploration

1.1 Dataset

1.1.1 Boards

library(lattice)
library(RODBC)
ch = odbcConnect('Hyne',uid='sa',pwd="password12")

mypanel = function(x,y,...) {
  panel.abline(c(0,1), col='grey70', lty=2)
  panel.xyplot(x,y,...)
}

B = sqlQuery(ch, "
             select 
                SWILogNumber,
                g.MOE [E.g], 
                g.Density [den.g], 
                m.swv [v.d.hitman], 
                h.[Density_kg/m3] [den.d.lhg], 
                h.[MOE.cltraw] [E.d.clt], 
                m.pith, 
                m.wane,
                m.bow,
                m.crook,
                m.twist,
                X_Dens [den.d.chh],
                X_Clear [den.d.chh.clear],
                X_DynE [E.d.chh.dyn],
                X_AvgE [E.d.chh.avg],
                X_MOE [E.d.chh.moe],
                xc, yc
             from (
                select 
                  flitchId, 
                  max(pith) pith, 
                  max(wane) wane, 
                  avg(swv) swv, 
                  avg(bow) bow, 
                  avg(crook) crook, 
                  avg(twist) twist
                from manualMeas group by flitchId
             ) m 
             left join CHHBoards c on c.flitchId=m.flitchId
             left join HyneDryBoards h on h.flitchId=m.flitchId
             left join ecoustic g on m.flitchId=g.flitchId
             left join (
                select 
                  flitchId, 
                  max(SWILogNumber) SWILogNumber 
                from 
                  boardEndImages i, barcode_image bi, boardEndBarcodes b 
                where flitchId is not null and i.id=bi.imageId and bi.barcodeId=b.id group by flitchId
             ) f on f.flitchId=m.flitchId
             left join (
                select FlitchID, avg(boardCentroidX_mm) xc, avg(boardCentroidY_mm) yc
                from boardEndBarcodes b, boardEndImages i, barcode_image bi
                where b.id=bi.barcodeId and i.id=bi.imageId
                group by FlitchID
             ) xy on xy.FlitchID=m.flitchId
             ")
B$pith_wane = paste(B$pith,B$wane)
B$E.d.hitman = B$v.d^2*B$den.d.chh/1e9

# halve the SWV for ridiculosly fast ecoustic velocities
B$v.g = sqrt(B$E.g*1e9/B$den.g)
B$E.g.corrected = B$E.g
ii=!is.na(B$v.g) & B$v.g>4000
B$E.g.corrected[ii] = (B$v.g[ii]/2)^2*B$den.g[ii]/1e9

B$R = sqrt(B$xc^2 + B$yc^2)

1202 boards. 62 not associated with a SWILogNumber.

1.1.2 Logs

L = sqlQuery(ch, "
             select 
               p.*,
               s.*,
               u.SWV [SWV.untrimmed], 
               t.SWV [SWV],
               t.weight,
               3.141592654*4.9/3*(rL*rL+rS*rL+rS*rS) [volume.heart]
             from 
               (select * from logs where SWILogNumber is not null and DateAndTime>'2014-08-31 00:00:00') p
               left join (select * from logs where SWILogNumber is not null and DateAndTime<'2014-08-31 00:00:00') s 
                 on s.SWILogNumber=p.SWILogNumber
               left join yardTrimmed t on p.SWILogNumber=t.SWILogNumber 
               left join yardUntrimmed u on p.SWILogNumber=u.SWILogNumber 
               left join (select 
                            l.SWILogNumber, l.heartwoodDiameter_mm/2000 rL, s.heartwoodDiameter_mm/2000 rS 
                            from logends l, logends s where s.SWILogNumber=l.SWILogNumber and s.logEnd='S' and l.logEnd='L'
               ) h on h.SWILogNumber=p.SWILogNumber
             order by p.SWILogNumber")
summ <- function(x) {
   return(list(
     avg=mean(x, na.rm=TRUE),
     p50=median(x, na.rm=TRUE),
     p75=quantile(x, 0.75, na.rm=TRUE)
     )) 
}
board.quality.measures = c('E.d.hitman','bow','crook','twist')
for (i in 1:nrow(L)) {
  ii=!is.na(B$SWILogNumber) & B$SWILogNumber==L[i,"SWILogNumber"]
  L[i,"nboards"]=sum(ii)
  L[i,"nboards.complete"]=nrow(na.omit(B[ii,board.quality.measures]))
  L[i,"E.avg"]=mean(B$E.d.clt[ii],na.rm=TRUE)
  L[i,"E.avg.dyn"]=mean(B$E.d.hitman[ii],na.rm=TRUE)
  L[i,"GPa10"]=sum(!is.na(B$E.d.hitman) & B$E.d.hitman>=10 & ii)/sum(ii)
  L[i,"GPa8"]=sum(!is.na(B$E.d.hitman) & B$E.d.hitman>=8 & ii)/sum(ii)
  L[i,"GPa6"]=sum(!is.na(B$E.d.hitman) & B$E.d.hitman>=6 & ii)/sum(ii)
  L[i,"npith"]=sum(ii & (!is.na(B$pith) & B$pith=='y'))
  for (measure in board.quality.measures) {
    for (region in c('','inner','outer')) {
      iregion = rep(TRUE,nrow(B))
      if (region=='inner') {
        iregion = B$R<=100
      } else if (region=='outer') {
        iregion = B$R>100 
      }
      results = summ(B[!is.na(B[,measure])&ii&iregion,measure])
      for (result in names(results)) {
        if (region=='') {
          out <- paste(measure,result,sep="_")
        } else {
          out <- paste(measure,result,region,sep="_")
        }
        L[i,out] = results[[result]]
      }
    }
  }
}

# calibre uses 0 to indicate missing 
L$velocity[L$velocity==0]=NA
L$velocity.1[L$velocity.1==0]=NA

L$hw.vfrac = L$volume.heart / L$volume
L$density = L$weight / L$volume

L$sweep.prod = L$m_sweep1*L$m_sweep2
L$sweep.prod.1 = L$m_sweep1.1*L$m_sweep2.1

L$E.gradient = L$E.d.hitman_avg_inner/L$E.d.hitman_avg_outer

#str(L)

predictors = c('SWV',
  'm_volume','m_led','m_sed',
  'm_a0','m_a1','m_a2','m_taper','m_waist',
  'm_ovality','m_whorliness',
  'm_sweep1','m_sweep2',
  'weight','density',
  'hw.vfrac',
  'sweep.prod')

1.1.3 Log End Imagery

Also grab digitized log end data:

D = sqlQuery(ch, "
  select 
    flipbookNumber SWILogNumber, 
    logEnd, 
    e.type, 
    x_mm x, 
    y_mm y 
  from
    LogEndDigitizationPoints p, 
    LogEndDigitizationEdges e, 
    LogEndDigitizations d 
  where 
    p.digitizationId=d.id 
    and e.digitizationId=d.id 
    and e.id=p.edgeID")#  and logEnd='large'")

1.2 Cleaning

Why are the shape metrics (m_*) missing for 10 logs?

9 of these logs (198,201,208,195,205,148,194,206,207) were the first put through, maybe the logselect software wasn’t running. The 10th is a log that for some reason couldn’t be matched to Royalty scanner Id (or perhaps no bin file matching that Id was available).


Hitman SWV isn’t available for the last trimmed log (223). Can we use untrimmed hitman swv?

#plot(L$SWV,L$SWV.untrimmed*1000.)
#identify(L$SWV,L$SWV.untrimmed*1000.,L$SWILogNumber)
c=rep('grey70',nrow(L))
c[L$SWILogNumber %in% c(157,183)]='red'
c[L$SWILogNumber %in% c(151)]='blue'
c[L$SWILogNumber %in% c(223)]='green'
tmp=L[,c("velocity","SWV.untrimmed","SWV","velocity.1")]
names(tmp)<-c("calibre.select","hitman.untrm","hitman.trmd","calibre.sawing")
pairs(tmp,col=c,main="Comparison of Log SWV Measures")

Three outliers (logs 151,157,183).

Trimmed SWV estimate good for logs 157, 183 (i.e. untrimmed SWV wrong).

Use hitman untrimmed estimate for log 151.

Use hitman untrimmed estimate for log 223.

TODO: re-extract hitman SWV from raw hitman data.

L$SWV[L$SWILogNumber==151] = L$SWV.untrimmed[L$SWILogNumber==151]*1000
L$SWV[L$SWILogNumber==223] = L$SWV.untrimmed[L$SWILogNumber==223]*1000

Do the two measures of volume/LED/SED agree?

plot(volume ~ m_volume, L)
plot(SED ~ m_sed, L)
plot(LED ~ m_led, L)

Yep, pretty much.


Is the heartwood volume stuff sane?

xyplot(volume.heart ~ volume, L)
xyplot(I(volume.heart/volume) ~ I(weight/volume), L)
summary(lm(I(weight/volume) ~ I(volume.heart/volume), L))
## 
## Call:
## lm(formula = I(weight/volume) ~ I(volume.heart/volume), data = L)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -105.612  -23.525   -5.409   19.012  130.911 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)            1058.725      8.902  118.93   <2e-16 ***
## I(volume.heart/volume) -520.867     34.059  -15.29   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 39.78 on 121 degrees of freedom
## Multiple R-squared:  0.659,  Adjusted R-squared:  0.6562 
## F-statistic: 233.9 on 1 and 121 DF,  p-value: < 2.2e-16

Regression suggests average sapwood density of 1058 kg/m^3, with average heartwood density of 537 kg/m^3.


How different are log metrics computed at selection and processing time (i.e. before and after being trimmed to 4.9m)?

par(mfcol=c(4,4))
log.shape.metrics = c("m_volume","m_led","m_sed","m_taper","m_waist","m_ovality","m_whorliness","m_a0","m_a1","m_a2","m_sweep1","m_sweep2","sweep.prod")
for (m in log.shape.metrics) {
  plot(formula(paste(m,"~",m,".1",sep="")),L)
  }

For the most part log metrics are similar before and after trimming. Where differences do occur it might be due to:

  • the loss of material
  • discretization error (incl slight difference in positioning)
  • instrument error

1.3 Recovery

plot(nboards ~ m_volume, L)
identify(L$m_volume, L$nboards, L$SWILogNumber, cex=0.8)
## integer(0)

Only one board recovered from log 106.

Two logs with abnormally poor recovery: 126, 192. Either these were sawn to non-90x40 products or gluing was poor and labels were lost.

Exclude these logs from further analysis.

#L = L[!L$SWILogNumber%in%c(106,126,192),]

1.4 Stiffness Out-turn

bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$E.avg)],ordered=TRUE) ~ E.d.clt, B)
# and again but with only the best and worst and with individual boards
(worst=L$SWILogNumber[L$E.avg<quantile(L$E.avg,0.1)])
##  [1] 101 106 163 168 179 184 187 193 205 207 214 218 221
(best=L$SWILogNumber[L$E.avg>quantile(L$E.avg,0.9)])
##  [1] 135 137 140 143 154 159 176 190 200 203 206 213 216
bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$E.avg)],ordered=TRUE) ~ E.d.clt, B,subset=SWILogNumber %in% union(best,worst),
        panel=function(...){
          panel.bwplot(...)
          panel.points(...,col='red')
        }, main="Best and Worst 10% of Logs")

The worst (least stiff) boards are similar across all logs. The best (most stiff) boards howver range from <10 GPa to >15GPa.

Are good logs small?

plot(L$m_volume[order(L$E.avg)])
plot(L$nboards[order(L$E.avg)])

Bad logs tend to be both a little smaller and represented by fewer boards, but the effect is not strong.

1.5 Grade

Note that ‘GPax’ here denotes boards whose average MOE is x GPa or better, which is not really the same as having a GPax grade.

par(mfcol=c(3,1))
hist(L$GPa6, xlim=c(0,1), breaks=c(0:11)/10)
hist(L$GPa8, xlim=c(0,1), breaks=c(0:11)/10)
hist(L$GPa10, xlim=c(0,1), breaks=c(0:11)/10)
xyplot(jitter(L$GPa8,5)~jitter(L$GPa10,5))

Interesting that the 5 best logs if seeking GPa8 include one log that would be in the lower half if you were looking for GPa10.

par(mfcol=c(3,1))
plot(GPa6~ E.avg.dyn, L)
plot(GPa8~ E.avg.dyn, L)
plot(GPa10~ E.avg.dyn, L)

Log average MOE is not necessarily a good predictor of fraction of boards exceeding a particular MOE limit.

1.6 Marco’s Proposal Statement

How does the fraction GPa10+ vary with log quality? I.e. what is the % of GPa10+ in the worst X% of logs?

par(mfcol=c(1,1))
F=ecdf(L$GPa6)
plot(F)
quantile(L$GPa6, 0.05)
##        5% 
## 0.5038462
quantile(L$GPa6, 0.10)
##       10% 
## 0.5866667

TODO: using a model for log stiffness based on pre-sawing measures, redo this.

1.7 Dynamic v Static

Does it matter if we use Hitman instead of CLT results?

1.7.1 Using hitman and CHH density

bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$E.avg.dyn)],ordered=TRUE) ~ E.d.hitman, B)
# and again but with only the best and worst and with individual boards
(worst.dyn=L$SWILogNumber[L$E.avg<quantile(L$E.avg,0.1)])
##  [1] 101 106 163 168 179 184 187 193 205 207 214 218 221
(best.dyn=L$SWILogNumber[L$E.avg>quantile(L$E.avg,0.9)])
##  [1] 135 137 140 143 154 159 176 190 200 203 206 213 216
bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$E.avg)],ordered=TRUE) ~ E.d.hitman, B,subset=SWILogNumber %in% union(best.dyn,worst.dyn),
        panel=function(...){
          panel.bwplot(...)
          panel.points(...,col='red')
        }, main="Best and Worst 10% of logs")
intersect(best, best.dyn)
##  [1] 135 137 140 143 154 159 176 190 200 203 206 213 216
intersect(worst, worst.dyn)
##  [1] 101 106 163 168 179 184 187 193 205 207 214 218 221
plot(L$E.avg,L$E.avg.dyn)
plot(rank(L$E.avg),rank(L$E.avg.dyn))

No, we get the same sets of logs as best and worst using either hitman+chh.density or clt for board MOE.

From here on use Hitman and CHH density based board and log average MOE.

1.8 Pith Boards

Do all logs have a similar number of pith-in boards?

plot(L$SWILogNumber, L$nboards, ylim=c(0,max(L$nboards)))
points(L$SWILogNumber, L$npith, col='red')
table(L$npith)
## 
##  0  1  2  3  4 
##  7 43 59 13  1
L$SWILogNumber[L$npith==0]
## [1] 106 115 125 126 147 175 219

Typically 1 or 2 pith boards per log. BUT 7 logs with no pith boards (either not recovered or not properly classified), this might skew which logs appear to be best and worst. One of these seven is also a worst 10% log so probably not an issue.


Is the fraction of pith boards a good predictor of log average stiffness?

xyplot(E.avg.dyn ~ I(npith/nboards), L)

No.

1.9 Board Densities

1.9.1 Different estimators of dry density

pairs(B[,c('den.d.chh','den.d.chh.clear','den.d.lhg'),])

CHH clear (X_Clear) and average (X_Dens) densities are pretty similar.

Use the latter (X_Dens) in conjunction with SWV to estimate MOE.

1.9.2 Green vs dry density

xyplot(den.d.chh ~ den.g, B, group=paste("wane =",wane), auto.key=TRUE)

Most of the incredibly high green density boards are waney. Probably the green mass is good, but the green volume

1.10 Variation with Distance-from-pith

plot(pith ~ R, B)

Wow. There are pith containing boards whose LE position is 140-160 mm from pith at LE.

1.10.1 Density

mypanel = function(...) {
  panel.xyplot(...)
  panel.grid(h=-1,v=-1)
  panel.loess(..., col='red')
}
library(gridExtra)
## Loading required package: grid
library(lattice)
grid.arrange(
  xyplot(den.g ~ R, B, panel=mypanel, group=wane),
  xyplot(den.d.chh ~ R, B, panel=mypanel, group=wane),
  xyplot(den.d.lhg ~ R, B, panel=mypanel, group=wane),
  ncol=3)

1.10.2 MOE

grid.arrange(
  xyplot(E.g.corrected ~ R, B, panel=mypanel, group=wane),
  xyplot(E.d.chh.dyn ~ R, B, panel=mypanel, group=wane),
  xyplot(E.d.hitman ~ R, B, panel=mypanel, group=wane),
  ncol=3)

1.10.3 Warp

grid.arrange(
  xyplot(bow ~ R, B, panel=mypanel, group=wane),
  xyplot(crook ~ R, B, panel=mypanel, group=wane),
  xyplot(twist ~ R, B, panel=mypanel, group=wane),
  ncol=3)

Most of the plots above exhibit a slope discontinuity between \(R=100\) and \(R=150\) mm.

Lets call boards with \(R<100\) ‘inner’ and those with \(R>100\) mm ‘outer’.

1.11 Intra-Log Variation

1.11.1 Radial

Plot variation of moe, den, bow, crook, twist with R within individual logs

for (p in c("den.g","den.d.chh","E.d.chh.dyn","bow","crook","twist")) {
  print(
    xyplot(formula(paste(p,"~ R | as.factor(SWILogNumber)")), B, group=pith_wane, pch=c(1,19,19,19), main=p)#, auto.key=TRUE)
    )
  }

Some very odd arrangements of pith and waney boards (e.g log 137 where a pith board has R > than a wane board!)

1.11.2 2D

Todo: plot moe, den, bow, crook, twist using glyph size/color/fill over individual log saw patterns

library(ggplot2)
ii = is.finite(B$SWILogNumber) & is.finite(B$xc) & is.finite(B$yc)
for (p in c("den.g","den.d.chh","E.d.chh.dyn","bow","crook","twist")) {
  #B$sf=B[,p]/max(B[,p])
  #xyplot(yc ~ xc | as.factor(SWILogNumber), aspect='iso', B, cex=B$sf, pch=19, subset=is.finite(p))#, cex=p)#, auto.key=TRUE)
  
  # try ggplot2
  B$size=B[,p]
  print(
    ggplot(B[is.finite(B$size) & ii,], aes(xc,yc))
      + geom_point(aes(size=sqrt(abs(size)),col=size,alpha=0.9)) 
      + geom_point(col='black', shape="+") 
      + facet_wrap(~SWILogNumber) 
      + coord_fixed() # achieves aspect='iso'
    + scale_colour_gradientn(colours=rainbow(4))
    + ggtitle(p)
    )
  }

# to

Which logs are well represented?

Plot board positions and digitized large end information.

xyplot(y ~ x | as.factor(SWILogNumber), group=paste(logEnd,type), D, type="l", aspect='iso', 
       panel=function(x,y,subscripts,...){
          panel.grid(h=-1,y=-1)
          log = D$SWILogNumber[subscripts][1]
          ii = B$SWILogNumber==log
          panel.xyplot(B$xc[ii],B$yc[ii],pch=19,col='black', cex=0.5)
          panel.xyplot(x,y,subscripts=subscripts,...)
       })
# and so after much scrutinising...
near.complete.sawpatterns = c(213,217,219,220,221,223,212,210,108,111,125,119,114,128,144,150,154,164,188,186,197)

How is it that some boards fall outside of the large end? e.g. 103. Do I have the rotations correct?

1.12 Log SWV v average Board MOE

mypanel=function(x,y,...){
  #panel.abline(c(0,1), col='grey70', lty=2)
  panel.xyplot(x,y,...)
  m=lm(y ~ x)
  print(summary(m))
  panel.abline(coef(m),col='red')
}
#xyplot(E.avg ~ SWV, L, panel=mypanel) # hitman in yard
#xyplot(E.avg ~ velocity, L, subset=velocity>0, panel=mypanel) # calibre log tool
xyplot(E.avg.dyn ~ SWV, L, panel=mypanel) # hitman in yard
## 
## Call:
## lm(formula = y ~ x)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.5226 -0.6399  0.0464  0.7224  2.8393 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -4.5446846  1.4600138  -3.113  0.00231 ** 
## x            0.0041265  0.0004422   9.331 6.33e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.196 on 121 degrees of freedom
## Multiple R-squared:  0.4184, Adjusted R-squared:  0.4136 
## F-statistic: 87.06 on 1 and 121 DF,  p-value: 6.332e-16
#xyplot(E.avg.dyn ~ velocity, L, subset=velocity>0, panel=mypanel) # calibre log tool

Ugly.

1.13 Warp

1.13.1 Per Log Distributions

bwpanel=function(...){
          panel.bwplot(...)
          panel.points(...,col='red', cex=0.3)
        }
bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$bow_p75)],ordered=TRUE) ~ bow, B, panel=bwpanel)
bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$crook_p75)],ordered=TRUE) ~ crook, B, panel=bwpanel)
bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$twist_p75)],ordered=TRUE) ~ twist, B, panel=bwpanel)

1.13.2 Correlations

1.13.2.1 Between Log Quality Measures

log.quality.measures = c("E.avg.dyn",
                         "crook_avg","crook_p75","crook_avg_inner","crook_avg_outer",
                         "bow_avg","bow_p75","bow_avg_outer","bow_avg_inner",
                         "twist_avg")
pairs(L[,log.quality.measures], 
      lower.panel=function(x,y,...) {
        usr <- par("usr"); on.exit(par(usr))
        par(usr = c(0, 1, 0, 1))
        ii=is.finite(x) & is.finite(y)
        r <- cor(x[ii], y[ii])
        txt <- format(c(r, 0.123456789), digits = 2)[1]
        #txt <- paste0("r=", txt)
        #cex.cor <- 0.8/strwidth(txt)
        text(0.5, 0.5, txt, cex = 1.8 * abs(r))
})

Average and 75th percentile bow and crook strongly correlated. Consider only average from here on.

1.13.2.2 Log Q vs Predictors

log.quality.measures = c("E.avg.dyn",
                         "crook_avg","crook_avg_inner","crook_avg_outer",
                         "bow_avg","bow_avg_outer","bow_avg_inner",
                         "twist_avg")
plots <- list()
for (p in predictors) {
  for (l in log.quality.measures) {
    plots <- c(plots, list(xyplot(L[,l] ~ L[,p], xlab=p, ylab=l)))
  }
}
do.call(grid.arrange, c(plots, ncol=length(predictors)))

Twist turns out to be surprisingly predictable (see below). Is this due to correlation with stiffness?

xyplot(E.d.hitman_avg ~ twist_avg, L)
summary(lm(E.d.hitman_avg ~ twist_avg, L))
## 
## Call:
## lm(formula = E.d.hitman_avg ~ twist_avg, data = L)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.7408 -0.9521 -0.0143  0.9708  4.0205 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 10.09563    0.22422  45.026  < 2e-16 ***
## twist_avg   -0.34252    0.06032  -5.679  9.5e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.394 on 121 degrees of freedom
## Multiple R-squared:  0.2104, Adjusted R-squared:  0.2039 
## F-statistic: 32.25 on 1 and 121 DF,  p-value: 9.503e-08

2 Modelling

2.1 Stiffness

Find the best linear model for log average MOE.

summary(m <- lm(E.avg.dyn ~ (m_volume+SWV+m_led+m_sed+m_a0+m_a1+m_a2+m_taper+m_waist+m_ovality+m_whorliness+m_sweep1+m_sweep2+weight+hw.vfrac), L, subset=!is.na(L$m_sed)))
## 
## Call:
## lm(formula = E.avg.dyn ~ (m_volume + SWV + m_led + m_sed + m_a0 + 
##     m_a1 + m_a2 + m_taper + m_waist + m_ovality + m_whorliness + 
##     m_sweep1 + m_sweep2 + weight + hw.vfrac), data = L, subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.2389 -0.4317  0.0096  0.4803  1.5686 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -5.534e+00  2.002e+00  -2.765  0.00682 ** 
## m_volume     -8.647e+00  6.083e+00  -1.421  0.15839    
## SWV           4.817e-03  3.877e-04  12.425  < 2e-16 ***
## m_led         3.582e-02  1.557e-02   2.300  0.02360 *  
## m_sed        -4.029e-03  1.444e-02  -0.279  0.78085    
## m_a0         -3.275e-02  2.357e-02  -1.389  0.16791    
## m_a1          8.202e-02  1.606e-01   0.511  0.61071    
## m_a2          1.584e-01  1.605e-01   0.987  0.32627    
## m_taper      -5.622e-01  7.566e-01  -0.743  0.45923    
## m_waist      -6.372e+00  1.095e+01  -0.582  0.56179    
## m_ovality     7.277e+01  1.150e+02   0.633  0.52844    
## m_whorliness -4.602e-01  3.015e-01  -1.527  0.13012    
## m_sweep1      3.305e-02  1.340e-01   0.247  0.80571    
## m_sweep2     -2.303e-01  9.123e-01  -0.252  0.80126    
## weight        9.852e-03  5.164e-03   1.908  0.05936 .  
## hw.vfrac     -4.836e+00  1.302e+00  -3.714  0.00034 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8017 on 97 degrees of freedom
## Multiple R-squared:  0.7538, Adjusted R-squared:  0.7158 
## F-statistic:  19.8 on 15 and 97 DF,  p-value: < 2.2e-16
summary(m.best <- step(m, direction="both"))
## Start:  AIC=-35.19
## E.avg.dyn ~ (m_volume + SWV + m_led + m_sed + m_a0 + m_a1 + m_a2 + 
##     m_taper + m_waist + m_ovality + m_whorliness + m_sweep1 + 
##     m_sweep2 + weight + hw.vfrac)
## 
##                Df Sum of Sq     RSS     AIC
## - m_sweep1      1     0.039  62.389 -37.122
## - m_sweep2      1     0.041  62.391 -37.119
## - m_sed         1     0.050  62.400 -37.102
## - m_a1          1     0.168  62.517 -36.889
## - m_waist       1     0.218  62.568 -36.799
## - m_ovality     1     0.257  62.607 -36.728
## - m_taper       1     0.355  62.705 -36.551
## - m_a2          1     0.626  62.976 -36.064
## <none>                       62.350 -35.193
## - m_a0          1     1.241  63.591 -34.966
## - m_volume      1     1.299  63.649 -34.863
## - m_whorliness  1     1.498  63.848 -34.510
## - weight        1     2.340  64.690 -33.030
## - m_led         1     3.400  65.750 -31.193
## - hw.vfrac      1     8.868  71.218 -22.166
## - SWV           1    99.227 161.577  70.408
## 
## Step:  AIC=-37.12
## E.avg.dyn ~ m_volume + SWV + m_led + m_sed + m_a0 + m_a1 + m_a2 + 
##     m_taper + m_waist + m_ovality + m_whorliness + m_sweep2 + 
##     weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_sweep2      1     0.023  62.412 -39.081
## - m_sed         1     0.048  62.437 -39.034
## - m_a1          1     0.185  62.574 -38.787
## - m_waist       1     0.224  62.613 -38.717
## - m_ovality     1     0.256  62.645 -38.660
## - m_taper       1     0.382  62.771 -38.433
## - m_a2          1     0.674  63.063 -37.908
## <none>                       62.389 -37.122
## - m_a0          1     1.232  63.621 -36.912
## - m_volume      1     1.424  63.813 -36.572
## - m_whorliness  1     1.499  63.888 -36.440
## + m_sweep1      1     0.039  62.350 -35.193
## - weight        1     2.405  64.794 -34.848
## - m_led         1     3.455  65.844 -33.032
## - hw.vfrac      1     8.859  71.248 -24.118
## - SWV           1    99.191 161.580  68.410
## 
## Step:  AIC=-39.08
## E.avg.dyn ~ m_volume + SWV + m_led + m_sed + m_a0 + m_a1 + m_a2 + 
##     m_taper + m_waist + m_ovality + m_whorliness + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_sed         1     0.062  62.474 -40.968
## - m_a1          1     0.207  62.619 -40.706
## - m_waist       1     0.230  62.641 -40.666
## - m_ovality     1     0.257  62.668 -40.617
## - m_taper       1     0.413  62.825 -40.335
## - m_a2          1     0.733  63.145 -39.761
## <none>                       62.412 -39.081
## - m_a0          1     1.211  63.622 -38.910
## - m_volume      1     1.602  64.014 -38.216
## - m_whorliness  1     1.832  64.244 -37.812
## + m_sweep2      1     0.023  62.389 -37.122
## + m_sweep1      1     0.021  62.391 -37.119
## - weight        1     2.642  65.053 -36.396
## - m_led         1     3.436  65.848 -35.025
## - hw.vfrac      1     8.945  71.357 -25.945
## - SWV           1   105.402 167.814  70.688
## 
## Step:  AIC=-40.97
## E.avg.dyn ~ m_volume + SWV + m_led + m_a0 + m_a1 + m_a2 + m_taper + 
##     m_waist + m_ovality + m_whorliness + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_a1          1     0.192  62.666 -42.621
## - m_waist       1     0.222  62.696 -42.567
## - m_ovality     1     0.257  62.731 -42.504
## - m_taper       1     0.394  62.868 -42.257
## - m_a2          1     0.701  63.175 -41.708
## <none>                       62.474 -40.968
## - m_volume      1     1.543  64.017 -40.211
## - m_whorliness  1     1.769  64.244 -39.812
## + m_sed         1     0.062  62.412 -39.081
## + m_sweep2      1     0.037  62.437 -39.034
## + m_sweep1      1     0.016  62.458 -38.997
## - m_a0          1     2.445  64.919 -38.630
## - weight        1     2.586  65.060 -38.385
## - m_led         1     3.440  65.914 -36.912
## - hw.vfrac      1     9.528  72.002 -26.928
## - SWV           1   105.559 168.033  68.835
## 
## Step:  AIC=-42.62
## E.avg.dyn ~ m_volume + SWV + m_led + m_a0 + m_a2 + m_taper + 
##     m_waist + m_ovality + m_whorliness + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_ovality     1     0.267  62.933 -44.141
## - m_waist       1     0.483  63.149 -43.754
## - m_a2          1     0.557  63.223 -43.622
## <none>                       62.666 -42.621
## - m_volume      1     1.357  64.024 -42.199
## - m_whorliness  1     1.672  64.338 -41.646
## + m_a1          1     0.192  62.474 -40.968
## + m_sweep2      1     0.060  62.607 -40.729
## + m_sed         1     0.047  62.619 -40.706
## + m_sweep1      1     0.023  62.643 -40.663
## - weight        1     2.402  65.068 -40.371
## - m_a0          1     2.663  65.329 -39.919
## - m_taper       1     2.867  65.534 -39.565
## - m_led         1     3.550  66.216 -38.395
## - hw.vfrac      1    10.281  72.947 -27.455
## - SWV           1   109.017 171.683  69.264
## 
## Step:  AIC=-44.14
## E.avg.dyn ~ m_volume + SWV + m_led + m_a0 + m_a2 + m_taper + 
##     m_waist + m_whorliness + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_waist       1     0.494  63.427 -45.257
## - m_a2          1     0.565  63.498 -45.131
## <none>                       62.933 -44.141
## - m_volume      1     1.381  64.314 -43.688
## + m_ovality     1     0.267  62.666 -42.621
## - m_whorliness  1     2.000  64.933 -42.605
## + m_a1          1     0.202  62.731 -42.504
## + m_sweep2      1     0.062  62.871 -42.252
## + m_sed         1     0.047  62.886 -42.226
## + m_sweep1      1     0.022  62.911 -42.180
## - weight        1     2.348  65.281 -42.002
## - m_a0          1     2.805  65.738 -41.213
## - m_taper       1     3.013  65.946 -40.857
## - m_led         1     3.918  66.851 -39.317
## - hw.vfrac      1    10.227  73.160 -29.125
## - SWV           1   109.242 172.175  67.587
## 
## Step:  AIC=-45.26
## E.avg.dyn ~ m_volume + SWV + m_led + m_a0 + m_a2 + m_taper + 
##     m_whorliness + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## <none>                       63.427 -45.257
## - m_volume      1     1.491  64.918 -44.632
## + m_waist       1     0.494  62.933 -44.141
## + m_a1          1     0.471  62.956 -44.099
## + m_ovality     1     0.278  63.149 -43.754
## - m_whorliness  1     2.107  65.535 -43.564
## + m_sweep2      1     0.094  63.333 -43.424
## + m_sweep1      1     0.033  63.394 -43.317
## + m_sed         1     0.029  63.398 -43.309
## - weight        1     2.466  65.893 -42.947
## - m_a2          1     2.934  66.361 -42.148
## - m_a0          1     3.427  66.854 -41.310
## - m_taper       1     3.526  66.953 -41.143
## - m_led         1     4.912  68.339 -38.828
## - hw.vfrac      1     9.973  73.400 -30.755
## - SWV           1   109.227 172.654  65.901
## 
## Call:
## lm(formula = E.avg.dyn ~ m_volume + SWV + m_led + m_a0 + m_a2 + 
##     m_taper + m_whorliness + weight + hw.vfrac, data = L, subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.2835 -0.3965 -0.0057  0.5262  1.6484 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -5.7164370  1.8521928  -3.086 0.002603 ** 
## m_volume     -8.3559340  5.3706048  -1.556 0.122808    
## SWV           0.0048570  0.0003647  13.318  < 2e-16 ***
## m_led         0.0411388  0.0145659   2.824 0.005690 ** 
## m_a0         -0.0415803  0.0176248  -2.359 0.020200 *  
## m_a2          0.0067362  0.0030861   2.183 0.031327 *  
## m_taper      -0.1951795  0.0815625  -2.393 0.018522 *  
## m_whorliness -0.4933860  0.2667003  -1.850 0.067185 .  
## weight        0.0093774  0.0046857   2.001 0.047995 *  
## hw.vfrac     -4.8580360  1.2071640  -4.024 0.000109 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7847 on 103 degrees of freedom
## Multiple R-squared:  0.7496, Adjusted R-squared:  0.7277 
## F-statistic: 34.25 on 9 and 103 DF,  p-value: < 2.2e-16
m.best$anova
##          Step Df   Deviance Resid. Df Resid. Dev       AIC
## 1             NA         NA        97   62.34979 -35.19291
## 2  - m_sweep1  1 0.03910209        98   62.38889 -37.12207
## 3  - m_sweep2  1 0.02286265        99   62.41175 -39.08067
## 4     - m_sed  1 0.06232582       100   62.47408 -40.96788
## 5      - m_a1  1 0.19208366       101   62.66616 -42.62098
## 6 - m_ovality  1 0.26676899       102   62.93293 -44.14096
## 7   - m_waist  1 0.49409360       103   63.42702 -45.25725
m.best <- step(m, direction="backward")
## Start:  AIC=-35.19
## E.avg.dyn ~ (m_volume + SWV + m_led + m_sed + m_a0 + m_a1 + m_a2 + 
##     m_taper + m_waist + m_ovality + m_whorliness + m_sweep1 + 
##     m_sweep2 + weight + hw.vfrac)
## 
##                Df Sum of Sq     RSS     AIC
## - m_sweep1      1     0.039  62.389 -37.122
## - m_sweep2      1     0.041  62.391 -37.119
## - m_sed         1     0.050  62.400 -37.102
## - m_a1          1     0.168  62.517 -36.889
## - m_waist       1     0.218  62.568 -36.799
## - m_ovality     1     0.257  62.607 -36.728
## - m_taper       1     0.355  62.705 -36.551
## - m_a2          1     0.626  62.976 -36.064
## <none>                       62.350 -35.193
## - m_a0          1     1.241  63.591 -34.966
## - m_volume      1     1.299  63.649 -34.863
## - m_whorliness  1     1.498  63.848 -34.510
## - weight        1     2.340  64.690 -33.030
## - m_led         1     3.400  65.750 -31.193
## - hw.vfrac      1     8.868  71.218 -22.166
## - SWV           1    99.227 161.577  70.408
## 
## Step:  AIC=-37.12
## E.avg.dyn ~ m_volume + SWV + m_led + m_sed + m_a0 + m_a1 + m_a2 + 
##     m_taper + m_waist + m_ovality + m_whorliness + m_sweep2 + 
##     weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_sweep2      1     0.023  62.412 -39.081
## - m_sed         1     0.048  62.437 -39.034
## - m_a1          1     0.185  62.574 -38.787
## - m_waist       1     0.224  62.613 -38.717
## - m_ovality     1     0.256  62.645 -38.660
## - m_taper       1     0.382  62.771 -38.433
## - m_a2          1     0.674  63.063 -37.908
## <none>                       62.389 -37.122
## - m_a0          1     1.232  63.621 -36.912
## - m_volume      1     1.424  63.813 -36.572
## - m_whorliness  1     1.499  63.888 -36.440
## - weight        1     2.405  64.794 -34.848
## - m_led         1     3.455  65.844 -33.032
## - hw.vfrac      1     8.859  71.248 -24.118
## - SWV           1    99.191 161.580  68.410
## 
## Step:  AIC=-39.08
## E.avg.dyn ~ m_volume + SWV + m_led + m_sed + m_a0 + m_a1 + m_a2 + 
##     m_taper + m_waist + m_ovality + m_whorliness + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_sed         1     0.062  62.474 -40.968
## - m_a1          1     0.207  62.619 -40.706
## - m_waist       1     0.230  62.641 -40.666
## - m_ovality     1     0.257  62.668 -40.617
## - m_taper       1     0.413  62.825 -40.335
## - m_a2          1     0.733  63.145 -39.761
## <none>                       62.412 -39.081
## - m_a0          1     1.211  63.622 -38.910
## - m_volume      1     1.602  64.014 -38.216
## - m_whorliness  1     1.832  64.244 -37.812
## - weight        1     2.642  65.053 -36.396
## - m_led         1     3.436  65.848 -35.025
## - hw.vfrac      1     8.945  71.357 -25.945
## - SWV           1   105.402 167.814  70.688
## 
## Step:  AIC=-40.97
## E.avg.dyn ~ m_volume + SWV + m_led + m_a0 + m_a1 + m_a2 + m_taper + 
##     m_waist + m_ovality + m_whorliness + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_a1          1     0.192  62.666 -42.621
## - m_waist       1     0.222  62.696 -42.567
## - m_ovality     1     0.257  62.731 -42.504
## - m_taper       1     0.394  62.868 -42.257
## - m_a2          1     0.701  63.175 -41.708
## <none>                       62.474 -40.968
## - m_volume      1     1.543  64.017 -40.211
## - m_whorliness  1     1.769  64.244 -39.812
## - m_a0          1     2.445  64.919 -38.630
## - weight        1     2.586  65.060 -38.385
## - m_led         1     3.440  65.914 -36.912
## - hw.vfrac      1     9.528  72.002 -26.928
## - SWV           1   105.559 168.033  68.835
## 
## Step:  AIC=-42.62
## E.avg.dyn ~ m_volume + SWV + m_led + m_a0 + m_a2 + m_taper + 
##     m_waist + m_ovality + m_whorliness + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_ovality     1     0.267  62.933 -44.141
## - m_waist       1     0.483  63.149 -43.754
## - m_a2          1     0.557  63.223 -43.622
## <none>                       62.666 -42.621
## - m_volume      1     1.357  64.024 -42.199
## - m_whorliness  1     1.672  64.338 -41.646
## - weight        1     2.402  65.068 -40.371
## - m_a0          1     2.663  65.329 -39.919
## - m_taper       1     2.867  65.534 -39.565
## - m_led         1     3.550  66.216 -38.395
## - hw.vfrac      1    10.281  72.947 -27.455
## - SWV           1   109.017 171.683  69.264
## 
## Step:  AIC=-44.14
## E.avg.dyn ~ m_volume + SWV + m_led + m_a0 + m_a2 + m_taper + 
##     m_waist + m_whorliness + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_waist       1     0.494  63.427 -45.257
## - m_a2          1     0.565  63.498 -45.131
## <none>                       62.933 -44.141
## - m_volume      1     1.381  64.314 -43.688
## - m_whorliness  1     2.000  64.933 -42.605
## - weight        1     2.348  65.281 -42.002
## - m_a0          1     2.805  65.738 -41.213
## - m_taper       1     3.013  65.946 -40.857
## - m_led         1     3.918  66.851 -39.317
## - hw.vfrac      1    10.227  73.160 -29.125
## - SWV           1   109.242 172.175  67.587
## 
## Step:  AIC=-45.26
## E.avg.dyn ~ m_volume + SWV + m_led + m_a0 + m_a2 + m_taper + 
##     m_whorliness + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## <none>                       63.427 -45.257
## - m_volume      1     1.491  64.918 -44.632
## - m_whorliness  1     2.107  65.535 -43.564
## - weight        1     2.466  65.893 -42.947
## - m_a2          1     2.934  66.361 -42.148
## - m_a0          1     3.427  66.854 -41.310
## - m_taper       1     3.526  66.953 -41.143
## - m_led         1     4.912  68.339 -38.828
## - hw.vfrac      1     9.973  73.400 -30.755
## - SWV           1   109.227 172.654  65.901
summary(m.best <- step(lm(E.avg.dyn ~ SWV, L, subset=!is.na(L$m_sed)), direction="forward", scope=E.avg.dyn ~ (SWV+m_volume+m_led+m_sed+m_a0+m_a1+m_a2+m_taper+m_waist+m_ovality+m_whorliness+m_sweep1+m_sweep2+volume+weight+density+hw.vfrac)))
## Start:  AIC=32.16
## E.avg.dyn ~ SWV
## 
##                Df Sum of Sq     RSS     AIC
## + density       1    63.066  81.910 -30.359
## + hw.vfrac      1    54.965  90.011 -19.703
## + weight        1    22.231 122.745  15.348
## + m_led         1    15.832 129.144  21.090
## + volume        1    14.732 130.244  22.049
## + m_volume      1    14.727 130.249  22.053
## + m_a0          1    14.526 130.450  22.227
## + m_sed         1    14.378 130.598  22.356
## + m_a2          1    12.149 132.828  24.268
## + m_waist       1    12.043 132.933  24.357
## + m_a1          1     9.069 135.907  26.858
## + m_whorliness  1     8.582 136.395  27.263
## + m_sweep2      1     3.763 141.213  31.186
## <none>                      144.976  32.158
## + m_taper       1     1.836 143.140  32.718
## + m_ovality     1     0.545 144.431  33.732
## + m_sweep1      1     0.276 144.700  33.942
## 
## Step:  AIC=-30.36
## E.avg.dyn ~ SWV + density
## 
##                Df Sum of Sq    RSS     AIC
## + m_a2          1    7.2599 74.650 -38.847
## + m_waist       1    7.2479 74.662 -38.828
## + m_led         1    7.1454 74.765 -38.673
## + weight        1    6.7086 75.202 -38.015
## + volume        1    6.6960 75.214 -37.996
## + m_volume      1    6.6873 75.223 -37.983
## + m_a0          1    6.6070 75.303 -37.863
## + m_sed         1    6.3559 75.554 -37.486
## + m_a1          1    6.0087 75.902 -36.968
## + m_whorliness  1    3.6326 78.278 -33.485
## + hw.vfrac      1    3.1040 78.806 -32.725
## <none>                      81.910 -30.359
## + m_taper       1    0.6047 81.306 -29.197
## + m_ovality     1    0.4056 81.505 -28.920
## + m_sweep2      1    0.1478 81.763 -28.563
## + m_sweep1      1    0.0121 81.898 -28.376
## 
## Step:  AIC=-38.85
## E.avg.dyn ~ SWV + density + m_a2
## 
##                Df Sum of Sq    RSS     AIC
## + hw.vfrac      1    5.4624 69.188 -45.433
## + weight        1    3.5296 71.121 -42.320
## + m_volume      1    3.5154 71.135 -42.297
## + volume        1    3.5154 71.135 -42.297
## + m_sed         1    3.1615 71.489 -41.737
## + m_a0          1    3.1573 71.493 -41.730
## + m_led         1    3.1354 71.515 -41.695
## + m_whorliness  1    3.1338 71.517 -41.693
## <none>                      74.650 -38.847
## + m_ovality     1    0.6438 74.007 -37.825
## + m_sweep2      1    0.1350 74.515 -37.051
## + m_sweep1      1    0.1048 74.546 -37.005
## + m_a1          1    0.0044 74.646 -36.853
## + m_taper       1    0.0043 74.646 -36.853
## + m_waist       1    0.0035 74.647 -36.852
## 
## Step:  AIC=-45.43
## E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac
## 
##                Df Sum of Sq    RSS     AIC
## + m_led         1   2.64503 66.543 -47.838
## + m_volume      1   2.59123 66.597 -47.747
## + volume        1   2.55412 66.634 -47.684
## + weight        1   2.52886 66.659 -47.641
## + m_sed         1   2.51511 66.673 -47.618
## + m_a0          1   2.46386 66.724 -47.531
## + m_whorliness  1   2.00495 67.183 -46.756
## <none>                      69.188 -45.433
## + m_ovality     1   1.02793 68.160 -45.125
## + m_sweep2      1   0.36878 68.819 -44.037
## + m_waist       1   0.36309 68.825 -44.028
## + m_a1          1   0.00079 69.187 -43.435
## + m_sweep1      1   0.00056 69.187 -43.434
## + m_taper       1   0.00028 69.188 -43.434
## 
## Step:  AIC=-47.84
## E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac + m_led
## 
##                Df Sum of Sq    RSS     AIC
## + m_whorliness  1    3.4686 63.074 -51.887
## <none>                      66.543 -47.838
## + m_ovality     1    0.6808 65.862 -47.000
## + m_waist       1    0.5291 66.014 -46.740
## + m_sweep2      1    0.3435 66.200 -46.423
## + m_taper       1    0.2110 66.332 -46.197
## + m_a1          1    0.2024 66.341 -46.182
## + m_a0          1    0.0110 66.532 -45.857
## + m_volume      1    0.0059 66.537 -45.848
## + m_sweep1      1    0.0008 66.542 -45.839
## + m_sed         1    0.0002 66.543 -45.838
## + volume        1    0.0002 66.543 -45.838
## + weight        1    0.0001 66.543 -45.838
## 
## Step:  AIC=-51.89
## E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac + m_led + m_whorliness
## 
##             Df Sum of Sq    RSS     AIC
## <none>                   63.074 -51.887
## + m_waist    1   0.46288 62.611 -50.720
## + m_sed      1   0.31475 62.760 -50.453
## + weight     1   0.29155 62.783 -50.411
## + m_ovality  1   0.28823 62.786 -50.405
## + m_a0       1   0.26551 62.809 -50.364
## + volume     1   0.23528 62.839 -50.310
## + m_volume   1   0.11511 62.959 -50.094
## + m_sweep1   1   0.06520 63.009 -50.004
## + m_sweep2   1   0.00538 63.069 -49.897
## + m_taper    1   0.00252 63.072 -49.892
## + m_a1       1   0.00116 63.073 -49.889
## 
## Call:
## lm(formula = E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac + m_led + 
##     m_whorliness, data = L, subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.6464 -0.4315  0.0184  0.4831  1.6250 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -1.305e+01  2.335e+00  -5.589 1.78e-07 ***
## SWV           4.950e-03  3.376e-04  14.662  < 2e-16 ***
## density       6.415e-03  1.885e-03   3.404  0.00094 ***
## m_a2          6.667e-03  2.754e-03   2.421  0.01718 *  
## hw.vfrac     -3.056e+00  1.266e+00  -2.413  0.01755 *  
## m_led         2.925e-03  1.113e-03   2.628  0.00987 ** 
## m_whorliness -6.037e-01  2.500e-01  -2.414  0.01748 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7714 on 106 degrees of freedom
## Multiple R-squared:  0.751,  Adjusted R-squared:  0.7369 
## F-statistic: 53.27 on 6 and 106 DF,  p-value: < 2.2e-16
summary(m.best.interactions <- step(lm(E.avg.dyn ~ SWV, L, subset=!is.na(L$m_sed)), direction="forward", scope=E.avg.dyn ~ (SWV+m_volume+m_led+m_sed+m_a0+m_a1+m_a2+m_taper+m_waist+m_ovality+m_whorliness+m_sweep1+m_sweep2+weight+density+hw.vfrac)^2))
## Start:  AIC=32.16
## E.avg.dyn ~ SWV
## 
##                Df Sum of Sq     RSS     AIC
## + density       1    63.066  81.910 -30.359
## + hw.vfrac      1    54.965  90.011 -19.703
## + weight        1    22.231 122.745  15.348
## + m_led         1    15.832 129.144  21.090
## + m_volume      1    14.727 130.249  22.053
## + m_a0          1    14.526 130.450  22.227
## + m_sed         1    14.378 130.598  22.356
## + m_a2          1    12.149 132.828  24.268
## + m_waist       1    12.043 132.933  24.357
## + m_a1          1     9.069 135.907  26.858
## + m_whorliness  1     8.582 136.395  27.263
## + m_sweep2      1     3.763 141.213  31.186
## <none>                      144.976  32.158
## + m_taper       1     1.836 143.140  32.718
## + m_ovality     1     0.545 144.431  33.732
## + m_sweep1      1     0.276 144.700  33.942
## 
## Step:  AIC=-30.36
## E.avg.dyn ~ SWV + density
## 
##                Df Sum of Sq    RSS     AIC
## + m_a2          1    7.2599 74.650 -38.847
## + m_waist       1    7.2479 74.662 -38.828
## + m_led         1    7.1454 74.765 -38.673
## + weight        1    6.7086 75.202 -38.015
## + m_volume      1    6.6873 75.223 -37.983
## + m_a0          1    6.6070 75.303 -37.863
## + m_sed         1    6.3559 75.554 -37.486
## + m_a1          1    6.0087 75.902 -36.968
## + m_whorliness  1    3.6326 78.278 -33.485
## + hw.vfrac      1    3.1040 78.806 -32.725
## <none>                      81.910 -30.359
## + m_taper       1    0.6047 81.306 -29.197
## + m_ovality     1    0.4056 81.505 -28.920
## + SWV:density   1    0.1833 81.727 -28.612
## + m_sweep2      1    0.1478 81.763 -28.563
## + m_sweep1      1    0.0121 81.898 -28.376
## 
## Step:  AIC=-38.85
## E.avg.dyn ~ SWV + density + m_a2
## 
##                Df Sum of Sq    RSS     AIC
## + hw.vfrac      1    5.4624 69.188 -45.433
## + weight        1    3.5296 71.121 -42.320
## + m_volume      1    3.5154 71.135 -42.297
## + m_sed         1    3.1615 71.489 -41.737
## + m_a0          1    3.1573 71.493 -41.730
## + m_led         1    3.1354 71.515 -41.695
## + m_whorliness  1    3.1338 71.517 -41.693
## + SWV:m_a2      1    2.6754 71.975 -40.971
## + m_a2:density  1    2.2401 72.410 -40.290
## <none>                      74.650 -38.847
## + m_ovality     1    0.6438 74.007 -37.825
## + m_sweep2      1    0.1350 74.515 -37.051
## + SWV:density   1    0.1239 74.526 -37.034
## + m_sweep1      1    0.1048 74.546 -37.005
## + m_a1          1    0.0044 74.646 -36.853
## + m_taper       1    0.0043 74.646 -36.853
## + m_waist       1    0.0035 74.647 -36.852
## 
## Step:  AIC=-45.43
## E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac
## 
##                    Df Sum of Sq    RSS     AIC
## + m_led             1   2.64503 66.543 -47.838
## + m_volume          1   2.59123 66.597 -47.747
## + weight            1   2.52886 66.659 -47.641
## + m_sed             1   2.51511 66.673 -47.618
## + m_a0              1   2.46386 66.724 -47.531
## + SWV:m_a2          1   2.01216 67.176 -46.768
## + m_whorliness      1   2.00495 67.183 -46.756
## + density:hw.vfrac  1   1.25421 67.934 -45.501
## + m_a2:density      1   1.23779 67.950 -45.473
## <none>                          69.188 -45.433
## + m_a2:hw.vfrac     1   1.04102 68.147 -45.146
## + m_ovality         1   1.02793 68.160 -45.125
## + m_sweep2          1   0.36878 68.819 -44.037
## + m_waist           1   0.36309 68.825 -44.028
## + SWV:density       1   0.24205 68.946 -43.829
## + SWV:hw.vfrac      1   0.16756 69.020 -43.707
## + m_a1              1   0.00079 69.187 -43.435
## + m_sweep1          1   0.00056 69.187 -43.434
## + m_taper           1   0.00028 69.188 -43.434
## 
## Step:  AIC=-47.84
## E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac + m_led
## 
##                    Df Sum of Sq    RSS     AIC
## + m_whorliness      1    3.4686 63.074 -51.887
## + m_led:m_a2        1    2.6380 63.905 -50.409
## + SWV:m_a2          1    2.2078 64.335 -49.651
## + m_a2:density      1    1.2584 65.285 -47.995
## <none>                          66.543 -47.838
## + m_a2:hw.vfrac     1    1.0760 65.467 -47.680
## + density:hw.vfrac  1    0.9964 65.547 -47.543
## + m_ovality         1    0.6808 65.862 -47.000
## + m_waist           1    0.5291 66.014 -46.740
## + m_sweep2          1    0.3435 66.200 -46.423
## + m_taper           1    0.2110 66.332 -46.197
## + SWV:density       1    0.2044 66.339 -46.186
## + m_a1              1    0.2024 66.341 -46.182
## + SWV:hw.vfrac      1    0.1393 66.404 -46.075
## + m_led:hw.vfrac    1    0.0976 66.445 -46.004
## + m_led:density     1    0.0155 66.527 -45.864
## + SWV:m_led         1    0.0131 66.530 -45.860
## + m_a0              1    0.0110 66.532 -45.857
## + m_volume          1    0.0059 66.537 -45.848
## + m_sweep1          1    0.0008 66.542 -45.839
## + m_sed             1    0.0002 66.543 -45.838
## + weight            1    0.0001 66.543 -45.838
## 
## Step:  AIC=-51.89
## E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac + m_led + m_whorliness
## 
##                         Df Sum of Sq    RSS     AIC
## + m_led:m_a2             1   1.62153 61.453 -52.830
## + density:hw.vfrac       1   1.32539 61.749 -52.287
## <none>                               63.074 -51.887
## + m_whorliness:density   1   1.10587 61.968 -51.886
## + SWV:m_a2               1   1.09501 61.979 -51.866
## + m_a2:density           1   0.74870 62.326 -51.237
## + SWV:m_whorliness       1   0.70673 62.368 -51.161
## + m_led:hw.vfrac         1   0.47861 62.596 -50.748
## + m_whorliness:hw.vfrac  1   0.46991 62.604 -50.732
## + m_waist                1   0.46288 62.611 -50.720
## + m_led:m_whorliness     1   0.43648 62.638 -50.672
## + m_a2:hw.vfrac          1   0.39091 62.683 -50.590
## + SWV:density            1   0.34270 62.732 -50.503
## + m_led:density          1   0.33318 62.741 -50.486
## + m_sed                  1   0.31475 62.760 -50.453
## + weight                 1   0.29155 62.783 -50.411
## + m_ovality              1   0.28823 62.786 -50.405
## + m_a0                   1   0.26551 62.809 -50.364
## + SWV:hw.vfrac           1   0.13529 62.939 -50.130
## + m_volume               1   0.11511 62.959 -50.094
## + m_sweep1               1   0.06520 63.009 -50.004
## + SWV:m_led              1   0.03334 63.041 -49.947
## + m_a2:m_whorliness      1   0.01886 63.055 -49.921
## + m_sweep2               1   0.00538 63.069 -49.897
## + m_taper                1   0.00252 63.072 -49.892
## + m_a1                   1   0.00116 63.073 -49.889
## 
## Step:  AIC=-52.83
## E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac + m_led + m_whorliness + 
##     m_a2:m_led
## 
##                         Df Sum of Sq    RSS     AIC
## + m_whorliness:density   1   1.18572 60.267 -53.032
## <none>                               61.453 -52.830
## + SWV:m_whorliness       1   0.98449 60.468 -52.655
## + density:hw.vfrac       1   0.94377 60.509 -52.579
## + m_ovality              1   0.46033 60.993 -51.680
## + m_led:hw.vfrac         1   0.44254 61.010 -51.647
## + SWV:m_a2               1   0.42581 61.027 -51.616
## + m_led:density          1   0.41275 61.040 -51.592
## + m_waist                1   0.40028 61.053 -51.569
## + m_whorliness:hw.vfrac  1   0.37766 61.075 -51.527
## + weight                 1   0.36951 61.083 -51.512
## + SWV:density            1   0.35161 61.101 -51.479
## + m_a2:density           1   0.32596 61.127 -51.431
## + m_volume               1   0.17885 61.274 -51.160
## + m_sed                  1   0.16182 61.291 -51.128
## + m_led:m_whorliness     1   0.14199 61.311 -51.092
## + SWV:hw.vfrac           1   0.09910 61.354 -51.013
## + m_a0                   1   0.07901 61.374 -50.976
## + m_taper                1   0.07458 61.378 -50.968
## + m_a1                   1   0.06753 61.385 -50.955
## + m_a2:hw.vfrac          1   0.06065 61.392 -50.942
## + m_sweep1               1   0.05127 61.402 -50.925
## + m_a2:m_whorliness      1   0.03599 61.417 -50.897
## + m_sweep2               1   0.00053 61.452 -50.831
## + SWV:m_led              1   0.00017 61.453 -50.831
## 
## Step:  AIC=-53.03
## E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac + m_led + m_whorliness + 
##     m_a2:m_led + density:m_whorliness
## 
##                         Df Sum of Sq    RSS     AIC
## + SWV:m_whorliness       1   1.99936 58.268 -54.844
## <none>                               60.267 -53.032
## + density:hw.vfrac       1   0.92779 59.339 -52.785
## + m_ovality              1   0.60108 59.666 -52.165
## + m_waist                1   0.52976 59.737 -52.030
## + m_a2:density           1   0.38661 59.880 -51.759
## + weight                 1   0.36104 59.906 -51.711
## + m_led:hw.vfrac         1   0.33776 59.929 -51.667
## + SWV:m_a2               1   0.27892 59.988 -51.556
## + m_led:density          1   0.21277 60.054 -51.432
## + m_a2:m_whorliness      1   0.18906 60.078 -51.387
## + m_volume               1   0.17331 60.094 -51.357
## + SWV:density            1   0.12362 60.143 -51.264
## + m_sed                  1   0.10532 60.162 -51.230
## + m_a2:hw.vfrac          1   0.08905 60.178 -51.199
## + m_whorliness:hw.vfrac  1   0.07444 60.193 -51.172
## + m_a0                   1   0.06888 60.198 -51.161
## + m_taper                1   0.05986 60.207 -51.144
## + m_a1                   1   0.05237 60.215 -51.130
## + m_sweep1               1   0.02050 60.247 -51.070
## + m_led:m_whorliness     1   0.01753 60.250 -51.065
## + SWV:hw.vfrac           1   0.01396 60.253 -51.058
## + SWV:m_led              1   0.00093 60.266 -51.034
## + m_sweep2               1   0.00000 60.267 -51.032
## 
## Step:  AIC=-54.84
## E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac + m_led + m_whorliness + 
##     m_a2:m_led + density:m_whorliness + SWV:m_whorliness
## 
##                         Df Sum of Sq    RSS     AIC
## + m_led:m_whorliness     1   1.04859 57.219 -54.896
## <none>                               58.268 -54.844
## + density:hw.vfrac       1   0.95255 57.315 -54.707
## + weight                 1   0.78312 57.485 -54.373
## + m_waist                1   0.64941 57.618 -54.111
## + m_volume               1   0.58231 57.685 -53.979
## + m_led:hw.vfrac         1   0.43804 57.830 -53.697
## + m_ovality              1   0.41814 57.850 -53.658
## + m_a2:density           1   0.31931 57.948 -53.465
## + SWV:m_a2               1   0.27028 57.997 -53.370
## + m_led:density          1   0.20619 58.062 -53.245
## + m_a0                   1   0.19906 58.069 -53.231
## + m_sed                  1   0.19763 58.070 -53.228
## + SWV:m_led              1   0.11646 58.151 -53.070
## + m_whorliness:hw.vfrac  1   0.07849 58.189 -52.997
## + m_sweep1               1   0.06359 58.204 -52.968
## + m_a2:hw.vfrac          1   0.06256 58.205 -52.966
## + m_sweep2               1   0.05494 58.213 -52.951
## + SWV:density            1   0.03690 58.231 -52.916
## + m_a2:m_whorliness      1   0.00567 58.262 -52.855
## + m_taper                1   0.00165 58.266 -52.848
## + m_a1                   1   0.00054 58.267 -52.845
## + SWV:hw.vfrac           1   0.00001 58.268 -52.844
## 
## Step:  AIC=-54.9
## E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac + m_led + m_whorliness + 
##     m_a2:m_led + density:m_whorliness + SWV:m_whorliness + m_led:m_whorliness
## 
##                         Df Sum of Sq    RSS     AIC
## + density:hw.vfrac       1   1.26034 55.959 -55.413
## <none>                               57.219 -54.896
## + m_led:hw.vfrac         1   0.63997 56.579 -54.167
## + weight                 1   0.63310 56.586 -54.154
## + m_led:density          1   0.54586 56.673 -53.980
## + m_waist                1   0.53859 56.681 -53.965
## + m_ovality              1   0.44704 56.772 -53.783
## + m_a2:density           1   0.33990 56.879 -53.570
## + m_volume               1   0.33884 56.880 -53.568
## + SWV:m_a2               1   0.25253 56.967 -53.396
## + m_sed                  1   0.15448 57.065 -53.202
## + m_a0                   1   0.14583 57.073 -53.185
## + SWV:m_led              1   0.11630 57.103 -53.126
## + SWV:density            1   0.07720 57.142 -53.049
## + m_whorliness:hw.vfrac  1   0.04516 57.174 -52.986
## + m_sweep1               1   0.03898 57.180 -52.973
## + m_taper                1   0.03669 57.182 -52.969
## + m_a1                   1   0.02901 57.190 -52.954
## + m_a2:hw.vfrac          1   0.02896 57.190 -52.954
## + m_sweep2               1   0.02015 57.199 -52.936
## + m_a2:m_whorliness      1   0.01546 57.204 -52.927
## + SWV:hw.vfrac           1   0.00293 57.216 -52.902
## 
## Step:  AIC=-55.41
## E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac + m_led + m_whorliness + 
##     m_a2:m_led + density:m_whorliness + SWV:m_whorliness + m_led:m_whorliness + 
##     density:hw.vfrac
## 
##                         Df Sum of Sq    RSS     AIC
## <none>                               55.959 -55.413
## + m_waist                1   0.43455 55.524 -54.294
## + SWV:m_a2               1   0.36937 55.589 -54.162
## + m_a2:density           1   0.33606 55.623 -54.094
## + weight                 1   0.31425 55.645 -54.050
## + m_led:density          1   0.30622 55.653 -54.033
## + m_led:hw.vfrac         1   0.27090 55.688 -53.962
## + m_ovality              1   0.19033 55.768 -53.798
## + m_volume               1   0.14025 55.819 -53.697
## + SWV:m_led              1   0.10454 55.854 -53.624
## + m_taper                1   0.08987 55.869 -53.595
## + m_a2:hw.vfrac          1   0.08267 55.876 -53.580
## + m_a1                   1   0.07854 55.880 -53.572
## + m_a0                   1   0.05517 55.904 -53.525
## + m_sed                  1   0.04600 55.913 -53.506
## + m_sweep1               1   0.04150 55.917 -53.497
## + SWV:hw.vfrac           1   0.03258 55.926 -53.479
## + m_whorliness:hw.vfrac  1   0.01377 55.945 -53.441
## + m_sweep2               1   0.00264 55.956 -53.419
## + SWV:density            1   0.00097 55.958 -53.415
## + m_a2:m_whorliness      1   0.00001 55.959 -53.413
## 
## Call:
## lm(formula = E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac + m_led + 
##     m_whorliness + m_a2:m_led + density:m_whorliness + SWV:m_whorliness + 
##     m_led:m_whorliness + density:hw.vfrac, data = L, subset = !is.na(L$m_sed))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -3.15571 -0.48704  0.05985  0.42004  1.60248 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          -2.855e+01  7.102e+00  -4.021 0.000112 ***
## SWV                   7.578e-03  1.131e-03   6.700 1.21e-09 ***
## density               1.221e-02  5.266e-03   2.318 0.022485 *  
## m_a2                 -1.040e-02  1.277e-02  -0.815 0.417175    
## hw.vfrac             -1.240e+01  6.253e+00  -1.982 0.050163 .  
## m_led                 6.837e-03  3.208e-03   2.131 0.035504 *  
## m_whorliness          2.072e+01  7.598e+00   2.727 0.007532 ** 
## m_a2:m_led            4.394e-05  3.206e-05   1.371 0.173512    
## density:m_whorliness -1.053e-02  5.598e-03  -1.882 0.062777 .  
## SWV:m_whorliness     -2.926e-03  1.195e-03  -2.449 0.016039 *  
## m_led:m_whorliness   -5.302e-03  3.388e-03  -1.565 0.120793    
## density:hw.vfrac      1.038e-02  6.885e-03   1.508 0.134615    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7443 on 101 degrees of freedom
## Multiple R-squared:  0.7791, Adjusted R-squared:  0.755 
## F-statistic: 32.38 on 11 and 101 DF,  p-value: < 2.2e-16
#
m.best.current <- step(lm(E.avg.dyn ~ SWV, L, subset=!is.na(L$m_sed)), direction="forward", scope=E.avg.dyn ~ (m_volume+volume+SWV))
## Start:  AIC=32.16
## E.avg.dyn ~ SWV
## 
##            Df Sum of Sq    RSS    AIC
## + volume    1    14.732 130.24 22.049
## + m_volume  1    14.727 130.25 22.053
## <none>                  144.98 32.158
## 
## Step:  AIC=22.05
## E.avg.dyn ~ SWV + volume
## 
##            Df Sum of Sq    RSS    AIC
## <none>                  130.24 22.049
## + m_volume  1 0.0013448 130.24 24.048
m.best.withWeight <- step(lm(E.avg.dyn ~ SWV, L, subset=!is.na(L$m_sed)), direction="forward", scope=E.avg.dyn ~ (m_volume+volume+SWV+weight+density+hw.vfrac))
## Start:  AIC=32.16
## E.avg.dyn ~ SWV
## 
##            Df Sum of Sq     RSS     AIC
## + density   1    63.066  81.910 -30.359
## + hw.vfrac  1    54.965  90.011 -19.703
## + weight    1    22.231 122.745  15.348
## + volume    1    14.732 130.244  22.049
## + m_volume  1    14.727 130.249  22.053
## <none>                  144.976  32.158
## 
## Step:  AIC=-30.36
## E.avg.dyn ~ SWV + density
## 
##            Df Sum of Sq    RSS     AIC
## + weight    1    6.7086 75.202 -38.015
## + volume    1    6.6960 75.214 -37.996
## + m_volume  1    6.6873 75.223 -37.983
## + hw.vfrac  1    3.1040 78.806 -32.725
## <none>                  81.910 -30.359
## 
## Step:  AIC=-38.02
## E.avg.dyn ~ SWV + density + weight
## 
##            Df Sum of Sq    RSS     AIC
## + hw.vfrac  1   2.56610 72.636 -39.938
## <none>                  75.202 -38.015
## + m_volume  1   0.00010 75.202 -36.015
## + volume    1   0.00007 75.202 -36.015
## 
## Step:  AIC=-39.94
## E.avg.dyn ~ SWV + density + weight + hw.vfrac
## 
##            Df Sum of Sq    RSS     AIC
## <none>                  72.636 -39.938
## + m_volume  1  0.077844 72.558 -38.060
## + volume    1  0.035007 72.601 -37.993
# currently measurable: SWV, volume/size, shape
# with weight: SWV, volume/size, shape, weight, density
m.best.withWeight <- step(lm(E.avg.dyn ~ SWV, L, subset=!is.na(L$m_sed)), direction="forward", scope=E.avg.dyn ~ (m_volume+volume+SWV+weight+density+hw.vfrac))
## Start:  AIC=32.16
## E.avg.dyn ~ SWV
## 
##            Df Sum of Sq     RSS     AIC
## + density   1    63.066  81.910 -30.359
## + hw.vfrac  1    54.965  90.011 -19.703
## + weight    1    22.231 122.745  15.348
## + volume    1    14.732 130.244  22.049
## + m_volume  1    14.727 130.249  22.053
## <none>                  144.976  32.158
## 
## Step:  AIC=-30.36
## E.avg.dyn ~ SWV + density
## 
##            Df Sum of Sq    RSS     AIC
## + weight    1    6.7086 75.202 -38.015
## + volume    1    6.6960 75.214 -37.996
## + m_volume  1    6.6873 75.223 -37.983
## + hw.vfrac  1    3.1040 78.806 -32.725
## <none>                  81.910 -30.359
## 
## Step:  AIC=-38.02
## E.avg.dyn ~ SWV + density + weight
## 
##            Df Sum of Sq    RSS     AIC
## + hw.vfrac  1   2.56610 72.636 -39.938
## <none>                  75.202 -38.015
## + m_volume  1   0.00010 75.202 -36.015
## + volume    1   0.00007 75.202 -36.015
## 
## Step:  AIC=-39.94
## E.avg.dyn ~ SWV + density + weight + hw.vfrac
## 
##            Df Sum of Sq    RSS     AIC
## <none>                  72.636 -39.938
## + m_volume  1  0.077844 72.558 -38.060
## + volume    1  0.035007 72.601 -37.993
m.best.withHW <- step(lm(E.avg.dyn ~ SWV, L, subset=!is.na(L$m_sed)), direction="forward", scope=E.avg.dyn ~ (m_volume+volume+SWV+hw.vfrac))
## Start:  AIC=32.16
## E.avg.dyn ~ SWV
## 
##            Df Sum of Sq     RSS     AIC
## + hw.vfrac  1    54.965  90.011 -19.703
## + volume    1    14.732 130.244  22.049
## + m_volume  1    14.727 130.249  22.053
## <none>                  144.976  32.158
## 
## Step:  AIC=-19.7
## E.avg.dyn ~ SWV + hw.vfrac
## 
##            Df Sum of Sq    RSS     AIC
## + m_volume  1    7.1805 82.830 -27.097
## + volume    1    7.0800 82.931 -26.960
## <none>                  90.011 -19.703
## 
## Step:  AIC=-27.1
## E.avg.dyn ~ SWV + hw.vfrac + m_volume
## 
##          Df Sum of Sq    RSS     AIC
## <none>                82.830 -27.097
## + volume  1   0.33081 82.499 -25.549
# with heartwood: SWV, volume/size, shape, weight, density, hw.vfrac
m.best.withWeightHW <- step(lm(E.avg.dyn ~ (SWV + density + weight + hw.vfrac), L))
## Start:  AIC=-32.68
## E.avg.dyn ~ (SWV + density + weight + hw.vfrac)
## 
##            Df Sum of Sq     RSS     AIC
## <none>                   86.940 -32.676
## - hw.vfrac  1     4.864  91.804 -27.981
## - weight    1     6.082  93.023 -26.359
## - density   1     9.077  96.017 -22.462
## - SWV       1   177.134 264.075 101.978

Plot best models for Marco:

myplot=function (m, lbl) {
  print(s<-summary(m))
  xyplot(m$model$E.avg.dyn ~ predict(m), 
         panel=function(x,y,...) {
           panel.abline(c(0,1), col='grey70', lty=2)
           panel.xyplot(x,y,...)}, 
          aspect='iso',
         xlab='Predicted', ylab='Actual',
         main=sprintf('%s\nr^2=%0.2f',lbl,s$r.squared))
         #main=lbl, sub=expression(r^2==s$r.squared))
}
library(gridExtra)
grid.arrange(myplot(m.best.current, lbl="Current (SWV + volume)"), 
             myplot(m.best.withWeight, lbl="With Log Weight"), 
             myplot(m.best.withHW, lbl="With Log end HW"), 
             myplot(m.best, lbl="Everything"),
             nrow=1, 
             as.table=TRUE)
## 
## Call:
## lm(formula = E.avg.dyn ~ SWV + volume, data = L, subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.2052 -0.5780 -0.0167  0.6974  2.6003 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -6.6134051  1.5535782  -4.257 4.38e-05 ***
## SWV          0.0045176  0.0004435  10.186  < 2e-16 ***
## volume       1.8940993  0.5369809   3.527 0.000614 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.088 on 110 degrees of freedom
## Multiple R-squared:  0.4858, Adjusted R-squared:  0.4764 
## F-statistic: 51.95 on 2 and 110 DF,  p-value: < 2.2e-16
## 
## 
## Call:
## lm(formula = E.avg.dyn ~ SWV + density + weight + hw.vfrac, data = L, 
##     subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.8825 -0.3698  0.0792  0.5017  1.8583 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.491e+01  2.321e+00  -6.425 3.65e-09 ***
## SWV          5.256e-03  3.471e-04  15.144  < 2e-16 ***
## density      7.229e-03  1.968e-03   3.674 0.000373 ***
## weight       1.296e-03  4.280e-04   3.029 0.003069 ** 
## hw.vfrac    -2.537e+00  1.299e+00  -1.953 0.053368 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8201 on 108 degrees of freedom
## Multiple R-squared:  0.7132, Adjusted R-squared:  0.7026 
## F-statistic: 67.15 on 4 and 108 DF,  p-value: < 2.2e-16
## 
## 
## Call:
## lm(formula = E.avg.dyn ~ SWV + hw.vfrac + m_volume, data = L, 
##     subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.8128 -0.4506  0.0068  0.5024  1.8673 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -7.3996536  1.2464693  -5.936 3.52e-08 ***
## SWV          0.0053022  0.0003687  14.381  < 2e-16 ***
## hw.vfrac    -6.6073978  0.8364394  -7.899 2.40e-12 ***
## m_volume     1.4196155  0.4618222   3.074  0.00267 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8717 on 109 degrees of freedom
## Multiple R-squared:  0.673,  Adjusted R-squared:  0.664 
## F-statistic: 74.76 on 3 and 109 DF,  p-value: < 2.2e-16
## 
## 
## Call:
## lm(formula = E.avg.dyn ~ SWV + density + m_a2 + hw.vfrac + m_led + 
##     m_whorliness, data = L, subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.6464 -0.4315  0.0184  0.4831  1.6250 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -1.305e+01  2.335e+00  -5.589 1.78e-07 ***
## SWV           4.950e-03  3.376e-04  14.662  < 2e-16 ***
## density       6.415e-03  1.885e-03   3.404  0.00094 ***
## m_a2          6.667e-03  2.754e-03   2.421  0.01718 *  
## hw.vfrac     -3.056e+00  1.266e+00  -2.413  0.01755 *  
## m_led         2.925e-03  1.113e-03   2.628  0.00987 ** 
## m_whorliness -6.037e-01  2.500e-01  -2.414  0.01748 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7714 on 106 degrees of freedom
## Multiple R-squared:  0.751,  Adjusted R-squared:  0.7369 
## F-statistic: 53.27 on 6 and 106 DF,  p-value: < 2.2e-16

Does eliminating logs with significant compression wood visible on ends lead to better models?

what % of lumber that is not from the cant has stiffness below 6GPa?

2.2 Warp

2.2.1 Best Linear Models

Use stepwise regression to select ‘best’ (in terms of AIC) linear model.

best.linear.model = function (y,LL=NULL,plot=TRUE,...) {
  if (is.null(LL)) {
    
    LL=L[,predictors]
  }
  LL$y = y
  LL = na.omit(LL)#[complete.cases(LL),]
  scope = formula(paste("y~",paste(predictors,collapse='+')))
  #print(scope)
  m.init <- lm(y ~ SWV, LL, ...)
  #browser()
  m <- step(m.init, direction="both", scope=scope, trace=0)
  if (plot) {
    print(xyplot(LL$y ~ predict(m),aspect='iso',
                 panel=function(...){
                    panel.abline(c(0,1),col='grey70')
                    panel.xyplot(...)},
                 main=deparse(substitute(y)),
                 xlab='predicted', ylab='observed'))
  }
  return(m)
}

2.2.1.1 Bow

summary(m.best.bow_avg <- best.linear.model(L$bow_avg))
## 
## Call:
## lm(formula = y ~ SWV + density + m_whorliness + m_taper, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -8.5526 -2.1948 -0.5343  1.6360 15.9240 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  50.677145   8.169233   6.203 1.04e-08 ***
## SWV          -0.006277   0.001527  -4.112 7.67e-05 ***
## density      -0.016368   0.005161  -3.172  0.00197 ** 
## m_whorliness -2.400092   1.140879  -2.104  0.03772 *  
## m_taper      -0.233965   0.125925  -1.858  0.06590 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.566 on 108 degrees of freedom
## Multiple R-squared:  0.1962, Adjusted R-squared:  0.1664 
## F-statistic: 6.589 on 4 and 108 DF,  p-value: 8.771e-05
summary(m.best.bow_p50 <- best.linear.model(L$bow_p50))
## 
## Call:
## lm(formula = y ~ SWV + weight + m_whorliness + density + m_taper, 
##     data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -9.0144 -2.2305 -0.3083  2.2684 10.3289 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  53.284684   8.380541   6.358 5.13e-09 ***
## SWV          -0.006804   0.001591  -4.277 4.13e-05 ***
## weight       -0.004386   0.001964  -2.233  0.02765 *  
## m_whorliness -3.358372   1.173856  -2.861  0.00508 ** 
## density      -0.016345   0.005515  -2.964  0.00375 ** 
## m_taper      -0.220894   0.132053  -1.673  0.09729 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.658 on 107 degrees of freedom
## Multiple R-squared:  0.2698, Adjusted R-squared:  0.2357 
## F-statistic: 7.908 on 5 and 107 DF,  p-value: 2.269e-06
summary(m.best.bow_p75 <- best.linear.model(L$bow_p75))
## 
## Call:
## lm(formula = y ~ SWV + m_taper + density + m_whorliness, data = LL)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -11.7632  -3.5605  -0.7889   2.4524  19.9506 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  62.694698  11.674862   5.370 4.55e-07 ***
## SWV          -0.007537   0.002182  -3.455 0.000788 ***
## m_taper      -0.435954   0.179963  -2.422 0.017080 *  
## density      -0.018750   0.007375  -2.542 0.012430 *  
## m_whorliness -2.673998   1.630459  -1.640 0.103909    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.097 on 108 degrees of freedom
## Multiple R-squared:  0.1633, Adjusted R-squared:  0.1323 
## F-statistic: 5.271 on 4 and 108 DF,  p-value: 0.0006458

SWV, weight, density, whorliness and taper best predictors. Median bow best predicted.

2.2.1.2 Crook

summary(m.best.crook_avg <- best.linear.model(L$crook_avg))
## 
## Call:
## lm(formula = y ~ density + sweep.prod + m_waist + m_a2, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.2187 -1.4615 -0.2139  1.0972 10.3181 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  12.094252   2.899470   4.171 6.14e-05 ***
## density      -0.008411   0.003038  -2.768  0.00663 ** 
## sweep.prod    2.042667   0.857806   2.381  0.01900 *  
## m_waist     -38.089688  25.865324  -1.473  0.14376    
## m_a2          0.404822   0.283115   1.430  0.15564    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.165 on 108 degrees of freedom
## Multiple R-squared:  0.1638, Adjusted R-squared:  0.1328 
## F-statistic: 5.288 on 4 and 108 DF,  p-value: 0.0006287
summary(m.best.crook_p50 <- best.linear.model(L$crook_p50))
## 
## Call:
## lm(formula = y ~ density + sweep.prod + m_waist + m_a2, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.4437 -1.4283 -0.2151  0.9080  8.1531 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  11.402026   2.636957   4.324 3.43e-05 ***
## density      -0.008649   0.002763  -3.130  0.00225 ** 
## sweep.prod    2.012259   0.780142   2.579  0.01124 *  
## m_waist     -42.110793  23.523518  -1.790  0.07623 .  
## m_a2          0.451084   0.257482   1.752  0.08263 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.969 on 108 degrees of freedom
## Multiple R-squared:  0.1886, Adjusted R-squared:  0.1586 
## F-statistic: 6.278 on 4 and 108 DF,  p-value: 0.00014
summary(m.best.crook_p75 <- best.linear.model(L$crook_p75))
## 
## Call:
## lm(formula = y ~ density + sweep.prod, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.2717 -1.7721 -0.6979  1.4346 14.7374 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 18.331465   3.918569   4.678 8.29e-06 ***
## density     -0.013853   0.004101  -3.378  0.00101 ** 
## sweep.prod   2.993362   1.161504   2.577  0.01129 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.935 on 110 degrees of freedom
## Multiple R-squared:  0.1628, Adjusted R-squared:  0.1476 
## F-statistic:  10.7 on 2 and 110 DF,  p-value: 5.689e-05

75%ile crook best predicted. Density, sweep.prod, SWV, whorliness.

2.2.1.3 Combination Warp

Stan combined bow and crook using WPA grade limits.

combined_warp = L$crook_avg/75 + L$bow_avg/25
summary(m.best.combined_warp <- best.linear.model(combined_warp))
## 
## Call:
## lm(formula = y ~ SWV + density + m_whorliness + m_taper, data = LL)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.34202 -0.09823 -0.01804  0.06120  0.71273 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   2.325e+00  3.445e-01   6.749 7.71e-10 ***
## SWV          -2.772e-04  6.437e-05  -4.307 3.66e-05 ***
## density      -8.028e-04  2.176e-04  -3.689 0.000354 ***
## m_whorliness -9.801e-02  4.811e-02  -2.037 0.044078 *  
## m_taper      -1.017e-02  5.310e-03  -1.915 0.058111 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1504 on 108 degrees of freedom
## Multiple R-squared:  0.2187, Adjusted R-squared:  0.1898 
## F-statistic: 7.559 on 4 and 108 DF,  p-value: 2.085e-05

What happens if we toss a couple of outliers?

L$SWILogNumber[combined_warp>1.2] # 222
## [1] 222
L$SWILogNumber[combined_warp<0.2] # 103
## [1] 103
subset = !L$SWILogNumber%in%c(103,222)
summary(m.best.combined_warp <- best.linear.model(combined_warp[subset], LL=L[subset,predictors]))
## 
## Call:
## lm(formula = y ~ SWV + m_taper + density + m_whorliness, data = LL)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.23075 -0.08899 -0.01509  0.06012  0.40411 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   2.115e+00  3.004e-01   7.042 1.97e-10 ***
## SWV          -2.472e-04  5.615e-05  -4.403 2.56e-05 ***
## m_taper      -1.272e-02  4.620e-03  -2.752 0.006963 ** 
## density      -6.745e-04  1.904e-04  -3.542 0.000592 ***
## m_whorliness -8.497e-02  4.193e-02  -2.026 0.045228 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1303 on 106 degrees of freedom
## Multiple R-squared:  0.2428, Adjusted R-squared:  0.2142 
## F-statistic: 8.497 on 4 and 106 DF,  p-value: 5.499e-06

A little better, but nothing spectacular.

Can a random forest model do better?

library(randomForest)
## randomForest 4.6-10
## Type rfNews() to see new features/changes/bug fixes.
LL=L[,predictors]
LL$combined_warp = combined_warp
LL = na.omit(LL)
m.rf <- randomForest(combined_warp ~ ., LL, importance=TRUE, ntree=50000)
par(mfcol=c(1,1))
varImpPlot(m.rf)
print(m.rf)
## 
## Call:
##  randomForest(formula = combined_warp ~ ., data = LL, importance = TRUE,      ntree = 50000) 
##                Type of random forest: regression
##                      Number of trees: 50000
## No. of variables tried at each split: 5
## 
##           Mean of squared residuals: 0.02799233
##                     % Var explained: -1.18
xyplot(LL$combined_warp ~ predict(m.rf), aspect='iso')

Lousy results, but interesting that log green density turns up as the most favoured predictor, followed by SWV, taper and ovality.

What about other variable selection approaches?

library(subselect)
LL <- L[,predictors]
for (lmeas in c('E.avg.dyn','crook_avg','crook_avg_inner','crook_avg_outer','bow_avg','twist_avg')) {
  LL$y = L[,lmeas]
  m.0 <- lm(y ~ ., LL)
  Hmat <- lmHmat(m.0)
  Eleaps <- eleaps(Hmat$mat, kmin=1, kmax=length(predictors)-1, H=Hmat$H, r=Hmat$r)
  plot(Eleaps$bestvalues, type='b', main=lmeas, ylab="model goodness", xlab="number of predictors")
  cat(paste("\n",lmeas,"\n"))
  for (i in 1:nrow(Eleaps$bestsets)) {
    cat(paste(i,': ',paste(colnames(Hmat$mat)[Eleaps$bestsets[i,1:i]],collapse=", "),"\n", sep=""))
    # AIC?
  }
}
## 
##  E.avg.dyn 
## 1: SWV
## 2: SWV, density
## 3: SWV, m_a2, density
## 4: SWV, m_led, m_whorliness, density
## 5: SWV, m_led, m_a2, m_whorliness, density
## 6: SWV, m_led, m_a2, m_whorliness, density, hw.vfrac
## 7: SWV, m_led, m_a0, m_a1, m_whorliness, density, hw.vfrac
## 8: SWV, m_led, m_a0, m_a1, m_waist, m_whorliness, density, hw.vfrac
## 9: SWV, m_volume, m_led, m_a0, m_a1, m_waist, m_whorliness, density, hw.vfrac
## 10: SWV, m_volume, m_led, m_a0, m_a1, m_waist, m_whorliness, weight, density, hw.vfrac
## 11: SWV, m_volume, m_led, m_a0, m_a1, m_waist, m_ovality, m_whorliness, weight, density, hw.vfrac
## 12: SWV, m_volume, m_led, m_a0, m_a1, m_a2, m_waist, m_ovality, m_whorliness, weight, density, hw.vfrac
## 13: SWV, m_volume, m_led, m_a0, m_a1, m_a2, m_waist, m_ovality, m_whorliness, m_sweep1, weight, density, hw.vfrac
## 14: SWV, m_volume, m_led, m_a0, m_a1, m_a2, m_waist, m_ovality, m_whorliness, m_sweep1, weight, density, hw.vfrac, sweep.prod
## 15: SWV, m_volume, m_led, m_a0, m_a1, m_a2, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, weight, density, hw.vfrac, sweep.prod
## 16: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, weight, density, hw.vfrac, sweep.prod
## 
##  crook_avg 
## 1: density
## 2: density, sweep.prod
## 3: m_waist, density, sweep.prod
## 4: m_a1, m_taper, m_waist, density
## 5: m_a1, m_taper, m_waist, density, sweep.prod
## 6: SWV, m_a1, m_taper, m_waist, density, sweep.prod
## 7: m_volume, m_a1, m_taper, m_waist, weight, density, sweep.prod
## 8: m_volume, m_sed, m_a1, m_taper, m_waist, weight, density, sweep.prod
## 9: SWV, m_volume, m_sed, m_a1, m_taper, m_waist, weight, density, sweep.prod
## 10: SWV, m_volume, m_sed, m_a1, m_taper, m_waist, m_ovality, weight, density, sweep.prod
## 11: SWV, m_volume, m_sed, m_a1, m_taper, m_waist, m_ovality, weight, density, hw.vfrac, sweep.prod
## 12: SWV, m_volume, m_sed, m_a1, m_taper, m_waist, m_ovality, m_whorliness, weight, density, hw.vfrac, sweep.prod
## 13: SWV, m_volume, m_sed, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, weight, density, hw.vfrac, sweep.prod
## 14: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_taper, m_waist, m_ovality, m_whorliness, weight, density, hw.vfrac, sweep.prod
## 15: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, weight, density, hw.vfrac, sweep.prod
## 16: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, weight, density, hw.vfrac, sweep.prod
## 
##  crook_avg_inner 
## 1: density
## 2: m_sed, density
## 3: m_sed, m_a1, density
## 4: m_led, m_a2, m_waist, density
## 5: m_sed, m_a1, m_taper, m_waist, density
## 6: m_sed, m_a1, m_taper, m_waist, density, sweep.prod
## 7: SWV, m_sed, m_a1, m_taper, m_waist, weight, density
## 8: SWV, m_sed, m_a1, m_taper, m_waist, m_ovality, weight, density
## 9: SWV, m_sed, m_a1, m_taper, m_waist, m_whorliness, weight, density, sweep.prod
## 10: SWV, m_sed, m_a1, m_taper, m_waist, m_ovality, m_whorliness, weight, density, sweep.prod
## 11: SWV, m_sed, m_a1, m_taper, m_waist, m_ovality, m_whorliness, weight, density, hw.vfrac, sweep.prod
## 12: SWV, m_volume, m_sed, m_a1, m_taper, m_waist, m_ovality, m_whorliness, weight, density, hw.vfrac, sweep.prod
## 13: SWV, m_volume, m_sed, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, weight, density, hw.vfrac, sweep.prod
## 14: SWV, m_volume, m_sed, m_a1, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, weight, density, hw.vfrac, sweep.prod
## 15: SWV, m_volume, m_sed, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, weight, density, hw.vfrac, sweep.prod
## 16: SWV, m_volume, m_led, m_sed, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, weight, density, hw.vfrac, sweep.prod
## 
##  crook_avg_outer 
## 1: SWV
## 2: SWV, m_waist
## 3: SWV, m_a2, m_waist
## 4: SWV, m_a1, m_taper, m_waist
## 5: SWV, m_a1, m_taper, m_waist, m_sweep1
## 6: SWV, m_a1, m_taper, m_waist, m_whorliness, m_sweep1
## 7: SWV, m_a1, m_taper, m_waist, m_sweep2, hw.vfrac, sweep.prod
## 8: SWV, m_a1, m_taper, m_waist, m_sweep2, weight, hw.vfrac, sweep.prod
## 9: SWV, m_a1, m_taper, m_waist, m_ovality, m_sweep2, weight, hw.vfrac, sweep.prod
## 10: SWV, m_a1, m_taper, m_waist, m_ovality, m_sweep1, m_sweep2, weight, hw.vfrac, sweep.prod
## 11: SWV, m_sed, m_a0, m_a1, m_taper, m_waist, m_ovality, m_sweep1, m_sweep2, hw.vfrac, sweep.prod
## 12: SWV, m_sed, m_a0, m_a1, m_taper, m_waist, m_ovality, m_whorliness, m_sweep2, weight, hw.vfrac, sweep.prod
## 13: SWV, m_sed, m_a0, m_a1, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, weight, hw.vfrac, sweep.prod
## 14: SWV, m_volume, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, hw.vfrac, sweep.prod
## 15: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, hw.vfrac, sweep.prod
## 16: SWV, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, weight, density, hw.vfrac, sweep.prod
## 
##  bow_avg 
## 1: SWV
## 2: SWV, density
## 3: SWV, m_whorliness, density
## 4: SWV, m_taper, m_whorliness, density
## 5: SWV, m_volume, m_a0, m_whorliness, density
## 6: SWV, m_volume, m_a0, m_taper, m_whorliness, density
## 7: SWV, m_volume, m_a0, m_taper, m_ovality, m_whorliness, density
## 8: SWV, m_volume, m_a0, m_taper, m_ovality, m_whorliness, density, sweep.prod
## 9: SWV, m_volume, m_sed, m_a0, m_taper, m_ovality, m_whorliness, density, sweep.prod
## 10: SWV, m_volume, m_sed, m_a0, m_a1, m_taper, m_waist, m_ovality, m_whorliness, density
## 11: SWV, m_volume, m_sed, m_a0, m_a1, m_taper, m_waist, m_ovality, m_whorliness, density, sweep.prod
## 12: SWV, m_volume, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, density, sweep.prod
## 13: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, density, sweep.prod
## 14: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, density, hw.vfrac, sweep.prod
## 15: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep2, density, hw.vfrac, sweep.prod
## 16: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, density, hw.vfrac, sweep.prod
## 
##  twist_avg 
## 1: SWV
## 2: SWV, m_led
## 3: SWV, m_led, density
## 4: SWV, m_led, m_sed, density
## 5: SWV, m_led, m_a0, m_taper, density
## 6: SWV, m_led, m_a2, m_ovality, m_sweep1, density
## 7: SWV, m_led, m_sed, m_taper, m_ovality, m_sweep1, density
## 8: SWV, m_led, m_sed, m_taper, m_ovality, m_whorliness, m_sweep1, density
## 9: SWV, m_volume, m_led, m_a0, m_a1, m_waist, m_ovality, m_sweep1, density
## 10: SWV, m_led, m_sed, m_taper, m_ovality, m_whorliness, m_sweep1, m_sweep2, density, sweep.prod
## 11: SWV, m_led, m_sed, m_a0, m_taper, m_ovality, m_whorliness, m_sweep1, m_sweep2, density, sweep.prod
## 12: SWV, m_volume, m_led, m_sed, m_a0, m_taper, m_ovality, m_whorliness, m_sweep1, m_sweep2, density, sweep.prod
## 13: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, density, sweep.prod
## 14: SWV, m_volume, m_led, m_sed, m_a0, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, density, sweep.prod
## 15: SWV, m_volume, m_led, m_sed, m_a0, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, density, hw.vfrac, sweep.prod
## 16: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, density, hw.vfrac, sweep.prod

Note: other R packages include bestglm, subselect, leaps, glmulti.

library(glmulti)
## Loading required package: rJava
library(leaps)
## 
## Attaching package: 'leaps'
## 
## The following object is masked from 'package:subselect':
## 
##     leaps
LL <- L[,predictors]
LL$y = L$E.avg.dyn
m.0 <- glm(y ~ ., LL, family=gaussian(link="identity")) # equiv to a linear model
m.best <- glmulti(m.0, method="l", level=1) # level=1 forces no interactions
## Initialization...
## TASK: Exhaustive screening of candidate set, branch-and-bound algorithm.
## [ Be sure to have package leaps installed ]
## Fitting...
## Completed.
## 163 first best models identified.
# sloooooooow!

From ML, May 8:

To do: * Any further models needed for warp? Why are models significantly poorer than KPP – due to compression wood outliers being removed in the KPP analysis? * Is a stiffness segregation device required on the edger? i.e. what % of lumber that is not from the cant has stiffness below 6GPa? If this is a major lets drop it. * Do we need to say anything about the mc data (NMI and aquascan)? A comment on importance of mc in warp expression and the variability we saw would be useful. * Any further implications for JNL trial?

2.3 Inner and Outer Models

2.3.1 MoE

grid.arrange(
  xyplot(E.gradient ~ E.d.hitman_avg, L),
  xyplot(E.gradient ~ volume, L),
ncol=2)

Reasonable range in inner:outer stiffness. Independent of overall stiffness and size.

See models below.

2.3.2 Crook

  summary(m <- best.linear.model(L$crook_avg))
## 
## Call:
## lm(formula = y ~ density + sweep.prod + m_waist + m_a2, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.2187 -1.4615 -0.2139  1.0972 10.3181 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  12.094252   2.899470   4.171 6.14e-05 ***
## density      -0.008411   0.003038  -2.768  0.00663 ** 
## sweep.prod    2.042667   0.857806   2.381  0.01900 *  
## m_waist     -38.089688  25.865324  -1.473  0.14376    
## m_a2          0.404822   0.283115   1.430  0.15564    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.165 on 108 degrees of freedom
## Multiple R-squared:  0.1638, Adjusted R-squared:  0.1328 
## F-statistic: 5.288 on 4 and 108 DF,  p-value: 0.0006287
  summary(m <- best.linear.model(L$crook_avg_inner))
## 
## Call:
## lm(formula = y ~ density + m_sed + m_a1, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.3515 -2.2370 -0.7273  1.3997 14.1913 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)   
## (Intercept) 14.207336   4.377100   3.246  0.00156 **
## density     -0.014262   0.004726  -3.018  0.00318 **
## m_sed        0.012210   0.004824   2.531  0.01283 * 
## m_a1         0.021119   0.010744   1.966  0.05192 . 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.338 on 107 degrees of freedom
## Multiple R-squared:  0.1264, Adjusted R-squared:  0.1019 
## F-statistic: 5.159 on 3 and 107 DF,  p-value: 0.002275
  summary(m <- best.linear.model(L$crook_avg_outer))
## 
## Call:
## lm(formula = y ~ SWV + m_waist + m_a2, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.4509 -1.5887 -0.5386  1.0625 10.2911 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)   
## (Intercept)  11.942566   3.582819   3.333  0.00123 **
## SWV          -0.002244   0.001086  -2.066  0.04159 * 
## m_waist     -53.844271  31.306135  -1.720  0.08874 . 
## m_a2          0.574311   0.342203   1.678  0.09661 . 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.52 on 94 degrees of freedom
## Multiple R-squared:  0.09871,    Adjusted R-squared:  0.06995 
## F-statistic: 3.432 on 3 and 94 DF,  p-value: 0.02015

Best inner and outer models are both WORSE than total!

2.3.3 Bow

  summary(m <- best.linear.model(L$bow_avg))
## 
## Call:
## lm(formula = y ~ SWV + density + m_whorliness + m_taper, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -8.5526 -2.1948 -0.5343  1.6360 15.9240 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  50.677145   8.169233   6.203 1.04e-08 ***
## SWV          -0.006277   0.001527  -4.112 7.67e-05 ***
## density      -0.016368   0.005161  -3.172  0.00197 ** 
## m_whorliness -2.400092   1.140879  -2.104  0.03772 *  
## m_taper      -0.233965   0.125925  -1.858  0.06590 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.566 on 108 degrees of freedom
## Multiple R-squared:  0.1962, Adjusted R-squared:  0.1664 
## F-statistic: 6.589 on 4 and 108 DF,  p-value: 8.771e-05
  summary(m <- best.linear.model(L$bow_avg_inner))
## 
## Call:
## lm(formula = y ~ SWV + m_ovality + density + m_whorliness + m_a1, 
##     data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -9.4893 -3.3069 -0.5184  2.3588 17.7155 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   5.634e+01  1.173e+01   4.802 5.24e-06 ***
## SWV          -7.652e-03  2.182e-03  -3.507 0.000668 ***
## m_ovality     1.873e+03  7.077e+02   2.646 0.009390 ** 
## density      -1.829e-02  7.345e-03  -2.490 0.014350 *  
## m_whorliness -2.890e+00  1.624e+00  -1.780 0.077937 .  
## m_a1         -2.640e-02  1.735e-02  -1.522 0.131065    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.082 on 105 degrees of freedom
## Multiple R-squared:  0.1844, Adjusted R-squared:  0.1456 
## F-statistic: 4.749 on 5 and 105 DF,  p-value: 0.0005952
  summary(m <- best.linear.model(L$bow_avg_outer))
## 
## Call:
## lm(formula = y ~ SWV + density + m_taper, data = LL)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -9.946 -3.105 -0.955  2.327 29.900 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 75.091423  14.652257   5.125 1.59e-06 ***
## SWV         -0.010613   0.002732  -3.884 0.000191 ***
## density     -0.027779   0.009864  -2.816 0.005921 ** 
## m_taper     -0.460498   0.208543  -2.208 0.029664 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.96 on 94 degrees of freedom
## Multiple R-squared:  0.1844, Adjusted R-squared:  0.1584 
## F-statistic: 7.083 on 3 and 94 DF,  p-value: 0.0002418

2.3.4 Outer c.f. Inner

Do logs with lousy inner boards also have lousy outer boards?

xyplot(crook_avg_outer ~ crook_avg_inner, L)
xyplot(bow_avg_outer ~ bow_avg_inner, L)
xyplot(twist_avg_outer ~ twist_avg_inner, L)

No. Outer and Inner pretty much uncorrelated.

2.4 Reduced Datasets

If we look only at subsets of logs that are in some way ‘good’, do we get similar prediction models?

2.4.1 Marco’s CW-free logs

Fit models only to logs Marco identified as not appearing to contain significant CW based on log end imagery.

both.ends.severe.cw = c(189, 210, 212, 222)
both.ends.moderate.cw = c(123, 135, 144, 159, 178, 188, 190, 208)
for (lmeas in log.quality.measures) {
  models <- cf.full(lmeas, idx.sub=!L$SWILogNumber%in%union(both.ends.severe.cw,both.ends.moderate.cw)) 
}

Call:
lm(formula = y ~ SWV + density + m_a2 + hw.vfrac + m_led + m_whorliness, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6464 -0.4315  0.0184  0.4831  1.6250 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.305e+01  2.335e+00  -5.589 1.78e-07 ***
SWV           4.950e-03  3.376e-04  14.662  < 2e-16 ***
density       6.415e-03  1.885e-03   3.404  0.00094 ***
m_a2          6.667e-03  2.754e-03   2.421  0.01718 *  
hw.vfrac     -3.056e+00  1.266e+00  -2.413  0.01755 *  
m_led         2.925e-03  1.113e-03   2.628  0.00987 ** 
m_whorliness -6.037e-01  2.500e-01  -2.414  0.01748 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7714 on 106 degrees of freedom
Multiple R-squared:  0.751, Adjusted R-squared:  0.7369 
F-statistic: 53.27 on 6 and 106 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_waist + hw.vfrac + m_volume + 
    m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3986 -0.4296 -0.0076  0.5089  1.6441 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.209e+01  2.321e+00  -5.211 1.09e-06 ***
SWV           4.632e-03  3.508e-04  13.201  < 2e-16 ***
density       6.840e-03  1.887e-03   3.625 0.000467 ***
m_waist       6.896e-01  2.452e-01   2.813 0.005964 ** 
hw.vfrac     -2.357e+00  1.292e+00  -1.825 0.071213 .  
m_volume      1.150e+00  4.480e-01   2.566 0.011842 *  
m_whorliness -5.639e-01  2.567e-01  -2.196 0.030499 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7635 on 95 degrees of freedom
Multiple R-squared:  0.7374,    Adjusted R-squared:  0.7208 
F-statistic: 44.46 on 6 and 95 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_a2 + hw.vfrac + m_led + m_whorliness, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6464 -0.4315  0.0184  0.4831  1.6250 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.305e+01  2.335e+00  -5.589 1.78e-07 ***
SWV           4.950e-03  3.376e-04  14.662  < 2e-16 ***
density       6.415e-03  1.885e-03   3.404  0.00094 ***
m_a2          6.667e-03  2.754e-03   2.421  0.01718 *  
hw.vfrac     -3.056e+00  1.266e+00  -2.413  0.01755 *  
m_led         2.925e-03  1.113e-03   2.628  0.00987 ** 
m_whorliness -6.037e-01  2.500e-01  -2.414  0.01748 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7714 on 106 degrees of freedom
Multiple R-squared:  0.751, Adjusted R-squared:  0.7369 
F-statistic: 53.27 on 6 and 106 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_waist + hw.vfrac + m_volume + 
    m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3986 -0.4296 -0.0076  0.5089  1.6441 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.209e+01  2.321e+00  -5.211 1.09e-06 ***
SWV           4.632e-03  3.508e-04  13.201  < 2e-16 ***
density       6.840e-03  1.887e-03   3.625 0.000467 ***
m_waist       6.896e-01  2.452e-01   2.813 0.005964 ** 
hw.vfrac     -2.357e+00  1.292e+00  -1.825 0.071213 .  
m_volume      1.150e+00  4.480e-01   2.566 0.011842 *  
m_whorliness -5.639e-01  2.567e-01  -2.196 0.030499 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7635 on 95 degrees of freedom
Multiple R-squared:  0.7374,    Adjusted R-squared:  0.7208 
F-statistic: 44.46 on 6 and 95 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_a0 + m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0982 -0.4582 -0.0849  0.6509  3.3074 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.068e+01  2.419e+00  -4.413 2.46e-05 ***
SWV           3.428e-03  4.446e-04   7.711 7.14e-12 ***
density       1.076e-02  1.555e-03   6.917 3.62e-10 ***
m_a0         -5.665e-03  1.569e-03  -3.610  0.00047 ***
m_whorliness -9.176e-01  3.384e-01  -2.712  0.00781 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.061 on 106 degrees of freedom
Multiple R-squared:  0.5625,    Adjusted R-squared:  0.546 
F-statistic: 34.07 on 4 and 106 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_a0 + m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9400 -0.4667 -0.0582  0.5461  3.3404 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -9.5077282  2.5806155  -3.684 0.000381 ***
SWV           0.0032511  0.0004723   6.883 6.25e-10 ***
density       0.0100679  0.0016304   6.175 1.63e-08 ***
m_a0         -0.0060808  0.0016390  -3.710 0.000349 ***
m_whorliness -0.7949137  0.3615484  -2.199 0.030332 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.076 on 95 degrees of freedom
Multiple R-squared:  0.5388,    Adjusted R-squared:  0.5193 
F-statistic: 27.74 on 4 and 95 DF,  p-value: 2.894e-15

Call:
lm(formula = y ~ SWV + density + m_a1 + m_sweep1 + m_ovality + 
    hw.vfrac, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.4303 -0.5042 -0.1239  0.6437  3.6348 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.416e+01  4.047e+00  -3.498 0.000733 ***
SWV          6.299e-03  5.837e-04  10.792  < 2e-16 ***
density      6.008e-03  3.373e-03   1.781 0.078294 .  
m_a1        -1.493e-02  4.419e-03  -3.378 0.001084 ** 
m_sweep1    -4.222e-01  2.125e-01  -1.987 0.050044 .  
m_ovality    3.387e+02  1.789e+02   1.893 0.061576 .  
hw.vfrac    -3.649e+00  2.202e+00  -1.657 0.100962    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.248 on 89 degrees of freedom
Multiple R-squared:   0.66, Adjusted R-squared:  0.637 
F-statistic: 28.79 on 6 and 89 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_a1 + m_sweep1 + m_ovality, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.0048 -0.6420 -0.0401  0.7925  2.7601 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.576e+01  3.307e+00  -4.767 8.39e-06 ***
SWV          5.639e-03  5.946e-04   9.484 1.11e-14 ***
density      9.172e-03  2.190e-03   4.188 7.26e-05 ***
m_a1        -1.367e-02  4.421e-03  -3.092  0.00274 ** 
m_sweep1    -5.185e-01  2.261e-01  -2.293  0.02448 *  
m_ovality    3.356e+02  1.887e+02   1.778  0.07927 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.23 on 79 degrees of freedom
Multiple R-squared:  0.6361,    Adjusted R-squared:  0.6131 
F-statistic: 27.62 on 5 and 79 DF,  p-value: 4.601e-16

Call:
lm(formula = y ~ SWV + m_a0 + weight + m_sweep1 + m_ovality + 
    m_a1, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.28074 -0.08097 -0.00794  0.06625  0.42431 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  1.509e+00  2.814e-01   5.361 6.58e-07 ***
SWV         -1.081e-04  6.759e-05  -1.599   0.1135    
m_a0        -2.265e-03  1.168e-03  -1.939   0.0557 .  
weight       6.249e-04  4.242e-04   1.473   0.1443    
m_sweep1     5.241e-02  2.294e-02   2.285   0.0247 *  
m_ovality   -3.539e+01  1.939e+01  -1.825   0.0714 .  
m_a1         8.768e-04  5.197e-04   1.687   0.0951 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.1351 on 88 degrees of freedom
Multiple R-squared:  0.2593,    Adjusted R-squared:  0.2088 
F-statistic: 5.134 on 6 and 88 DF,  p-value: 0.0001451

Call:
lm(formula = y ~ SWV + m_a0 + m_sweep1 + m_ovality + m_a1, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.27949 -0.08773 -0.01653  0.07307  0.42331 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  1.315e+00  2.753e-01   4.778 8.18e-06 ***
SWV         -1.296e-04  6.901e-05  -1.877   0.0642 .  
m_a0        -6.116e-04  2.408e-04  -2.539   0.0131 *  
m_sweep1     5.495e-02  2.578e-02   2.132   0.0362 *  
m_ovality   -4.272e+01  2.151e+01  -1.986   0.0505 .  
m_a1         1.011e-03  5.231e-04   1.933   0.0569 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.14 on 78 degrees of freedom
Multiple R-squared:  0.2507,    Adjusted R-squared:  0.2027 
F-statistic: 5.219 on 5 and 78 DF,  p-value: 0.000348

Call:
lm(formula = y ~ density + sweep.prod + m_waist + m_a2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2187 -1.4615 -0.2139  1.0972 10.3181 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  12.094252   2.899470   4.171 6.14e-05 ***
density      -0.008411   0.003038  -2.768  0.00663 ** 
sweep.prod    2.042667   0.857806   2.381  0.01900 *  
m_waist     -38.089688  25.865324  -1.473  0.14376    
m_a2          0.404822   0.283115   1.430  0.15564    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.165 on 108 degrees of freedom
Multiple R-squared:  0.1638,    Adjusted R-squared:  0.1328 
F-statistic: 5.288 on 4 and 108 DF,  p-value: 0.0006287

Call:
lm(formula = y ~ SWV + density + sweep.prod, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2856 -1.1489 -0.3096  0.8675  7.0781 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 19.5165707  4.1852494   4.663 9.85e-06 ***
SWV         -0.0017289  0.0007673  -2.253 0.026466 *  
density     -0.0103478  0.0026784  -3.863 0.000201 ***
sweep.prod   1.3387237  0.7619663   1.757 0.082053 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.755 on 98 degrees of freedom
Multiple R-squared:  0.2072,    Adjusted R-squared:  0.1829 
F-statistic: 8.536 on 3 and 98 DF,  p-value: 4.311e-05

Call:
lm(formula = y ~ density + m_sed + m_a1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-6.3515 -2.2370 -0.7273  1.3997 14.1913 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)   
(Intercept) 14.207336   4.377100   3.246  0.00156 **
density     -0.014262   0.004726  -3.018  0.00318 **
m_sed        0.012210   0.004824   2.531  0.01283 * 
m_a1         0.021119   0.010744   1.966  0.05192 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.338 on 107 degrees of freedom
Multiple R-squared:  0.1264,    Adjusted R-squared:  0.1019 
F-statistic: 5.159 on 3 and 107 DF,  p-value: 0.002275

Call:
lm(formula = y ~ SWV + density + m_sed + m_a1, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-5.555 -2.050 -0.553  1.553  9.917 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)   
(Intercept) 20.786869   7.040051   2.953  0.00397 **
SWV         -0.001898   0.001325  -1.432  0.15550   
density     -0.014302   0.004364  -3.277  0.00146 **
m_sed        0.011372   0.004470   2.544  0.01257 * 
m_a1         0.015003   0.010186   1.473  0.14408   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.911 on 95 degrees of freedom
Multiple R-squared:  0.1721,    Adjusted R-squared:  0.1373 
F-statistic: 4.938 on 4 and 95 DF,  p-value: 0.001164

Call:
lm(formula = y ~ SWV + m_waist + m_a2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.4509 -1.5887 -0.5386  1.0625 10.2911 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)   
(Intercept)  11.942566   3.582819   3.333  0.00123 **
SWV          -0.002244   0.001086  -2.066  0.04159 * 
m_waist     -53.844271  31.306135  -1.720  0.08874 . 
m_a2          0.574311   0.342203   1.678  0.09661 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.52 on 94 degrees of freedom
Multiple R-squared:  0.09871,   Adjusted R-squared:  0.06995 
F-statistic: 3.432 on 3 and 94 DF,  p-value: 0.02015

Call:
lm(formula = y ~ SWV + m_waist + m_a2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.2420 -1.4535 -0.3935  1.1775 10.0626 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  13.61436    3.35534   4.058 0.000112 ***
SWV          -0.00283    0.00102  -2.775 0.006824 ** 
m_waist     -57.33523   29.50023  -1.944 0.055338 .  
m_a2          0.61452    0.32222   1.907 0.059961 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.26 on 83 degrees of freedom
Multiple R-squared:  0.1442,    Adjusted R-squared:  0.1133 
F-statistic: 4.661 on 3 and 83 DF,  p-value: 0.004638

Call:
lm(formula = y ~ SWV + density + m_whorliness + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-8.5526 -2.1948 -0.5343  1.6360 15.9240 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  50.677145   8.169233   6.203 1.04e-08 ***
SWV          -0.006277   0.001527  -4.112 7.67e-05 ***
density      -0.016368   0.005161  -3.172  0.00197 ** 
m_whorliness -2.400092   1.140879  -2.104  0.03772 *  
m_taper      -0.233965   0.125925  -1.858  0.06590 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.566 on 108 degrees of freedom
Multiple R-squared:  0.1962,    Adjusted R-squared:  0.1664 
F-statistic: 6.589 on 4 and 108 DF,  p-value: 8.771e-05

Call:
lm(formula = y ~ SWV + m_taper + density + m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-8.4203 -2.1292 -0.4479  1.6823 10.0999 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  47.883409   7.923471   6.043 2.80e-08 ***
SWV          -0.006097   0.001469  -4.150 7.15e-05 ***
m_taper      -0.292561   0.120976  -2.418  0.01746 *  
density      -0.013914   0.004936  -2.819  0.00584 ** 
m_whorliness -2.011714   1.100331  -1.828  0.07058 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.295 on 97 degrees of freedom
Multiple R-squared:  0.2117,    Adjusted R-squared:  0.1792 
F-statistic: 6.512 on 4 and 97 DF,  p-value: 0.0001101

Call:
lm(formula = y ~ SWV + m_ovality + density + m_whorliness + m_a1, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-9.4893 -3.3069 -0.5184  2.3588 17.7155 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)   5.634e+01  1.173e+01   4.802 5.24e-06 ***
SWV          -7.652e-03  2.182e-03  -3.507 0.000668 ***
m_ovality     1.873e+03  7.077e+02   2.646 0.009390 ** 
density      -1.829e-02  7.345e-03  -2.490 0.014350 *  
m_whorliness -2.890e+00  1.624e+00  -1.780 0.077937 .  
m_a1         -2.640e-02  1.735e-02  -1.522 0.131065    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.082 on 105 degrees of freedom
Multiple R-squared:  0.1844,    Adjusted R-squared:  0.1456 
F-statistic: 4.749 on 5 and 105 DF,  p-value: 0.0005952

Call:
lm(formula = y ~ SWV + m_whorliness + density, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-10.9766  -3.1587  -0.8173   2.3663  17.7707 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  50.137584  11.734963   4.272 4.55e-05 ***
SWV          -0.006624   0.002152  -3.078  0.00272 ** 
m_whorliness -3.404704   1.619691  -2.102  0.03816 *  
density      -0.015122   0.007399  -2.044  0.04370 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 4.947 on 96 degrees of freedom
Multiple R-squared:  0.1155,    Adjusted R-squared:  0.0879 
F-statistic:  4.18 on 3 and 96 DF,  p-value: 0.007925

Call:
lm(formula = y ~ SWV + density + m_taper, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-9.946 -3.105 -0.955  2.327 29.900 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 75.091423  14.652257   5.125 1.59e-06 ***
SWV         -0.010613   0.002732  -3.884 0.000191 ***
density     -0.027779   0.009864  -2.816 0.005921 ** 
m_taper     -0.460498   0.208543  -2.208 0.029664 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.96 on 94 degrees of freedom
Multiple R-squared:  0.1844,    Adjusted R-squared:  0.1584 
F-statistic: 7.083 on 3 and 94 DF,  p-value: 0.0002418

Call:
lm(formula = y ~ SWV + density + m_taper, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-9.753 -3.667 -1.225  2.519 30.211 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 72.023701  15.845458   4.545 1.85e-05 ***
SWV         -0.010317   0.002927  -3.525 0.000692 ***
density     -0.025222   0.010563  -2.388 0.019221 *  
m_taper     -0.499506   0.222660  -2.243 0.027538 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 6.105 on 83 degrees of freedom
Multiple R-squared:  0.1737,    Adjusted R-squared:  0.1438 
F-statistic: 5.816 on 3 and 83 DF,  p-value: 0.001172

Call:
lm(formula = y ~ SWV + m_led + density + m_sed, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4416 -1.2848  0.0444  1.0252  4.1047 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 15.2602020  3.5839449   4.258 4.42e-05 ***
SWV         -0.0041115  0.0006817  -6.031 2.32e-08 ***
m_led       -0.0285152  0.0097001  -2.940  0.00402 ** 
density      0.0071756  0.0023647   3.035  0.00302 ** 
m_sed        0.0155077  0.0104349   1.486  0.14016    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.634 on 108 degrees of freedom
Multiple R-squared:  0.4176,    Adjusted R-squared:  0.396 
F-statistic: 19.36 on 4 and 108 DF,  p-value: 4.946e-12

Call:
lm(formula = y ~ SWV + m_led + density + m_sed, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5245 -1.3715  0.1127  0.9839  4.0413 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 15.3656349  3.8319627   4.010 0.000119 ***
SWV         -0.0040186  0.0007231  -5.558  2.4e-07 ***
m_led       -0.0315706  0.0103533  -3.049 0.002957 ** 
density      0.0070289  0.0024901   2.823 0.005778 ** 
m_sed        0.0182831  0.0110850   1.649 0.102309    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.665 on 97 degrees of freedom
Multiple R-squared:  0.4316,    Adjusted R-squared:  0.4082 
F-statistic: 18.41 on 4 and 97 DF,  p-value: 2.762e-11

Call:
lm(formula = y ~ SWV + m_led + density + m_sed + m_sweep1, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-4.576 -1.782 -0.099  1.494  5.508 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 13.3355124  5.0898748   2.620 0.010071 *  
SWV         -0.0039981  0.0009606  -4.162 6.40e-05 ***
m_led       -0.0527561  0.0137747  -3.830 0.000216 ***
density      0.0138311  0.0033452   4.135 7.09e-05 ***
m_sed        0.0364908  0.0148036   2.465 0.015292 *  
m_sweep1    -0.5561260  0.3520536  -1.580 0.117136    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.302 on 107 degrees of freedom
Multiple R-squared:  0.4114,    Adjusted R-squared:  0.3839 
F-statistic: 14.96 on 5 and 107 DF,  p-value: 4.049e-11

Call:
lm(formula = y ~ SWV + m_led + density + m_sed, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.4788 -1.9815 -0.1636  1.5593  5.0716 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 10.2642610  5.2945580   1.939 0.055451 .  
SWV         -0.0034764  0.0009991  -3.480 0.000754 ***
m_led       -0.0590081  0.0143050  -4.125 7.83e-05 ***
density      0.0150391  0.0034406   4.371 3.11e-05 ***
m_sed        0.0423096  0.0153159   2.762 0.006864 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.3 on 97 degrees of freedom
Multiple R-squared:  0.4253,    Adjusted R-squared:  0.4016 
F-statistic: 17.95 on 4 and 97 DF,  p-value: 4.659e-11

2.4.2 JH ‘well-represented’ logs

  1. chosen by vfrac rec
rec = L$nboards.complete/L$volume
for (lmeas in log.quality.measures) {
  models <- cf.full(lmeas, idx.sub=rec>quantile(rec, 0.8))
}

Call:
lm(formula = y ~ SWV + density + m_a2 + hw.vfrac + m_led + m_whorliness, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6464 -0.4315  0.0184  0.4831  1.6250 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.305e+01  2.335e+00  -5.589 1.78e-07 ***
SWV           4.950e-03  3.376e-04  14.662  < 2e-16 ***
density       6.415e-03  1.885e-03   3.404  0.00094 ***
m_a2          6.667e-03  2.754e-03   2.421  0.01718 *  
hw.vfrac     -3.056e+00  1.266e+00  -2.413  0.01755 *  
m_led         2.925e-03  1.113e-03   2.628  0.00987 ** 
m_whorliness -6.037e-01  2.500e-01  -2.414  0.01748 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7714 on 106 degrees of freedom
Multiple R-squared:  0.751, Adjusted R-squared:  0.7369 
F-statistic: 53.27 on 6 and 106 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_a2 + m_volume, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-0.7742 -0.3067  0.1119  0.2132  0.8141 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -2.181e+01  2.237e+00  -9.749 4.84e-09 ***
SWV          7.066e-03  4.841e-04  14.596 3.98e-12 ***
density      7.676e-03  1.685e-03   4.557 0.000192 ***
m_a2         1.641e-02  4.377e-03   3.748 0.001266 ** 
m_volume     1.923e+00  6.494e-01   2.961 0.007716 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.4415 on 20 degrees of freedom
Multiple R-squared:  0.9345,    Adjusted R-squared:  0.9214 
F-statistic: 71.36 on 4 and 20 DF,  p-value: 1.499e-11

Call:
lm(formula = y ~ SWV + density + m_a2 + hw.vfrac + m_led + m_whorliness, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6464 -0.4315  0.0184  0.4831  1.6250 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.305e+01  2.335e+00  -5.589 1.78e-07 ***
SWV           4.950e-03  3.376e-04  14.662  < 2e-16 ***
density       6.415e-03  1.885e-03   3.404  0.00094 ***
m_a2          6.667e-03  2.754e-03   2.421  0.01718 *  
hw.vfrac     -3.056e+00  1.266e+00  -2.413  0.01755 *  
m_led         2.925e-03  1.113e-03   2.628  0.00987 ** 
m_whorliness -6.037e-01  2.500e-01  -2.414  0.01748 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7714 on 106 degrees of freedom
Multiple R-squared:  0.751, Adjusted R-squared:  0.7369 
F-statistic: 53.27 on 6 and 106 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_a2 + m_volume, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-0.7742 -0.3067  0.1119  0.2132  0.8141 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -2.181e+01  2.237e+00  -9.749 4.84e-09 ***
SWV          7.066e-03  4.841e-04  14.596 3.98e-12 ***
density      7.676e-03  1.685e-03   4.557 0.000192 ***
m_a2         1.641e-02  4.377e-03   3.748 0.001266 ** 
m_volume     1.923e+00  6.494e-01   2.961 0.007716 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.4415 on 20 degrees of freedom
Multiple R-squared:  0.9345,    Adjusted R-squared:  0.9214 
F-statistic: 71.36 on 4 and 20 DF,  p-value: 1.499e-11

Call:
lm(formula = y ~ SWV + density + m_a0 + m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0982 -0.4582 -0.0849  0.6509  3.3074 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.068e+01  2.419e+00  -4.413 2.46e-05 ***
SWV           3.428e-03  4.446e-04   7.711 7.14e-12 ***
density       1.076e-02  1.555e-03   6.917 3.62e-10 ***
m_a0         -5.665e-03  1.569e-03  -3.610  0.00047 ***
m_whorliness -9.176e-01  3.384e-01  -2.712  0.00781 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.061 on 106 degrees of freedom
Multiple R-squared:  0.5625,    Adjusted R-squared:  0.546 
F-statistic: 34.07 on 4 and 106 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + hw.vfrac + m_a0 + m_sed + sweep.prod + 
    m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.0563 -0.2797 -0.1609  0.2515  1.0590 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)   2.904e-01  2.971e+00   0.098  0.92322    
SWV           3.719e-03  6.604e-04   5.632 2.42e-05 ***
hw.vfrac     -1.142e+01  1.933e+00  -5.911 1.35e-05 ***
m_a0         -8.106e-02  2.514e-02  -3.224  0.00471 ** 
m_sed         7.522e-02  2.480e-02   3.033  0.00715 ** 
sweep.prod   -1.190e+00  4.602e-01  -2.586  0.01864 *  
m_whorliness  1.012e+00  6.471e-01   1.564  0.13513    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.5764 on 18 degrees of freedom
Multiple R-squared:  0.8661,    Adjusted R-squared:  0.8215 
F-statistic: 19.41 on 6 and 18 DF,  p-value: 5.886e-07

Call:
lm(formula = y ~ SWV + density + m_a1 + m_sweep1 + m_ovality + 
    hw.vfrac, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.4303 -0.5042 -0.1239  0.6437  3.6348 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.416e+01  4.047e+00  -3.498 0.000733 ***
SWV          6.299e-03  5.837e-04  10.792  < 2e-16 ***
density      6.008e-03  3.373e-03   1.781 0.078294 .  
m_a1        -1.493e-02  4.419e-03  -3.378 0.001084 ** 
m_sweep1    -4.222e-01  2.125e-01  -1.987 0.050044 .  
m_ovality    3.387e+02  1.789e+02   1.893 0.061576 .  
hw.vfrac    -3.649e+00  2.202e+00  -1.657 0.100962    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.248 on 89 degrees of freedom
Multiple R-squared:   0.66, Adjusted R-squared:  0.637 
F-statistic: 28.79 on 6 and 89 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + m_a2 + density + m_waist + weight + m_sweep2 + 
    m_sed + m_led + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-0.8769 -0.3370 -0.1419  0.2921  1.2454 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -3.400e+01  7.587e+00  -4.481 0.000518 ***
SWV          8.944e-03  8.779e-04  10.188 7.41e-08 ***
m_a2         6.802e-01  3.208e-01   2.121 0.052301 .  
density      8.392e-03  4.337e-03   1.935 0.073459 .  
m_waist     -6.049e+01  2.923e+01  -2.069 0.057514 .  
weight      -1.260e-02  7.514e-03  -1.677 0.115709    
m_sweep2    -4.223e+00  1.848e+00  -2.285 0.038394 *  
m_sed       -3.291e-02  2.654e-02  -1.240 0.235380    
m_led        7.504e-02  2.451e-02   3.062 0.008446 ** 
m_taper     -3.133e-01  1.400e-01  -2.237 0.042044 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.6828 on 14 degrees of freedom
Multiple R-squared:  0.9469,    Adjusted R-squared:  0.9128 
F-statistic: 27.75 on 9 and 14 DF,  p-value: 2.041e-07

Call:
lm(formula = y ~ SWV + m_a0 + weight + m_sweep1 + m_ovality + 
    m_a1, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.28074 -0.08097 -0.00794  0.06625  0.42431 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  1.509e+00  2.814e-01   5.361 6.58e-07 ***
SWV         -1.081e-04  6.759e-05  -1.599   0.1135    
m_a0        -2.265e-03  1.168e-03  -1.939   0.0557 .  
weight       6.249e-04  4.242e-04   1.473   0.1443    
m_sweep1     5.241e-02  2.294e-02   2.285   0.0247 *  
m_ovality   -3.539e+01  1.939e+01  -1.825   0.0714 .  
m_a1         8.768e-04  5.197e-04   1.687   0.0951 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.1351 on 88 degrees of freedom
Multiple R-squared:  0.2593,    Adjusted R-squared:  0.2088 
F-statistic: 5.134 on 6 and 88 DF,  p-value: 0.0001451

Call:
lm(formula = y ~ SWV + m_waist + m_a0 + weight, data = LL)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.140719 -0.066387  0.009874  0.047627  0.203043 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  3.0844626  0.4696922   6.567 2.75e-06 ***
SWV         -0.0003133  0.0001005  -3.116  0.00569 ** 
m_waist     -0.1469892  0.0815734  -1.802  0.08745 .  
m_a0        -0.0066717  0.0019244  -3.467  0.00258 ** 
weight       0.0020403  0.0006679   3.055  0.00652 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.09244 on 19 degrees of freedom
Multiple R-squared:  0.6114,    Adjusted R-squared:  0.5296 
F-statistic: 7.474 on 4 and 19 DF,  p-value: 0.0008573

Call:
lm(formula = y ~ density + sweep.prod + m_waist + m_a2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2187 -1.4615 -0.2139  1.0972 10.3181 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  12.094252   2.899470   4.171 6.14e-05 ***
density      -0.008411   0.003038  -2.768  0.00663 ** 
sweep.prod    2.042667   0.857806   2.381  0.01900 *  
m_waist     -38.089688  25.865324  -1.473  0.14376    
m_a2          0.404822   0.283115   1.430  0.15564    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.165 on 108 degrees of freedom
Multiple R-squared:  0.1638,    Adjusted R-squared:  0.1328 
F-statistic: 5.288 on 4 and 108 DF,  p-value: 0.0006287

Call:
lm(formula = y ~ 1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7292 -1.8292 -0.3007  0.7708 11.8958 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   4.7292     0.5789    8.17 2.17e-08 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.894 on 24 degrees of freedom

Call:
lm(formula = y ~ density + m_sed + m_a1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-6.3515 -2.2370 -0.7273  1.3997 14.1913 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)   
(Intercept) 14.207336   4.377100   3.246  0.00156 **
density     -0.014262   0.004726  -3.018  0.00318 **
m_sed        0.012210   0.004824   2.531  0.01283 * 
m_a1         0.021119   0.010744   1.966  0.05192 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.338 on 107 degrees of freedom
Multiple R-squared:  0.1264,    Adjusted R-squared:  0.1019 
F-statistic: 5.159 on 3 and 107 DF,  p-value: 0.002275

Call:
lm(formula = y ~ m_sed + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-7.4666 -1.9054  0.0122  1.4801 11.1257 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)   
(Intercept) -35.13091   11.48774  -3.058  0.00576 **
m_sed         0.22347    0.06781   3.296  0.00330 **
weight       -0.06832    0.02318  -2.947  0.00745 **
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.465 on 22 degrees of freedom
Multiple R-squared:  0.4061,    Adjusted R-squared:  0.3521 
F-statistic: 7.522 on 2 and 22 DF,  p-value: 0.003241

Call:
lm(formula = y ~ SWV + m_waist + m_a2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.4509 -1.5887 -0.5386  1.0625 10.2911 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)   
(Intercept)  11.942566   3.582819   3.333  0.00123 **
SWV          -0.002244   0.001086  -2.066  0.04159 * 
m_waist     -53.844271  31.306135  -1.720  0.08874 . 
m_a2          0.574311   0.342203   1.678  0.09661 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.52 on 94 degrees of freedom
Multiple R-squared:  0.09871,   Adjusted R-squared:  0.06995 
F-statistic: 3.432 on 3 and 94 DF,  p-value: 0.02015

Call:
lm(formula = y ~ 1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.5028 -1.5028 -0.6028  0.8514  5.4972 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   4.5028     0.4242   10.61 2.45e-10 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.078 on 23 degrees of freedom

Call:
lm(formula = y ~ SWV + density + m_whorliness + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-8.5526 -2.1948 -0.5343  1.6360 15.9240 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  50.677145   8.169233   6.203 1.04e-08 ***
SWV          -0.006277   0.001527  -4.112 7.67e-05 ***
density      -0.016368   0.005161  -3.172  0.00197 ** 
m_whorliness -2.400092   1.140879  -2.104  0.03772 *  
m_taper      -0.233965   0.125925  -1.858  0.06590 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.566 on 108 degrees of freedom
Multiple R-squared:  0.1962,    Adjusted R-squared:  0.1664 
F-statistic: 6.589 on 4 and 108 DF,  p-value: 8.771e-05

Call:
lm(formula = y ~ SWV + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.9225 -1.2890 -0.0818  1.2802  6.4691 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 49.658489  10.611518   4.680 0.000115 ***
SWV         -0.010896   0.002933  -3.715 0.001204 ** 
weight      -0.007575   0.003606  -2.101 0.047341 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.772 on 22 degrees of freedom
Multiple R-squared:  0.387, Adjusted R-squared:  0.3312 
F-statistic: 6.943 on 2 and 22 DF,  p-value: 0.004597

Call:
lm(formula = y ~ SWV + m_ovality + density + m_whorliness + m_a1, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-9.4893 -3.3069 -0.5184  2.3588 17.7155 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)   5.634e+01  1.173e+01   4.802 5.24e-06 ***
SWV          -7.652e-03  2.182e-03  -3.507 0.000668 ***
m_ovality     1.873e+03  7.077e+02   2.646 0.009390 ** 
density      -1.829e-02  7.345e-03  -2.490 0.014350 *  
m_whorliness -2.890e+00  1.624e+00  -1.780 0.077937 .  
m_a1         -2.640e-02  1.735e-02  -1.522 0.131065    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.082 on 105 degrees of freedom
Multiple R-squared:  0.1844,    Adjusted R-squared:  0.1456 
F-statistic: 4.749 on 5 and 105 DF,  p-value: 0.0005952

Call:
lm(formula = y ~ SWV + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-7.4272 -2.4475  0.3669  2.5876  9.4585 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)   
(Intercept) 63.664241  17.805276   3.576  0.00169 **
SWV         -0.014296   0.004921  -2.905  0.00820 **
weight      -0.012054   0.006050  -1.992  0.05888 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 4.651 on 22 degrees of freedom
Multiple R-squared:  0.2785,    Adjusted R-squared:  0.2129 
F-statistic: 4.246 on 2 and 22 DF,  p-value: 0.02758

Call:
lm(formula = y ~ SWV + density + m_taper, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-9.946 -3.105 -0.955  2.327 29.900 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 75.091423  14.652257   5.125 1.59e-06 ***
SWV         -0.010613   0.002732  -3.884 0.000191 ***
density     -0.027779   0.009864  -2.816 0.005921 ** 
m_taper     -0.460498   0.208543  -2.208 0.029664 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.96 on 94 degrees of freedom
Multiple R-squared:  0.1844,    Adjusted R-squared:  0.1584 
F-statistic: 7.083 on 3 and 94 DF,  p-value: 0.0002418

Call:
lm(formula = y ~ SWV + sweep.prod + m_led + m_a0 + m_ovality + 
    m_a1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5034 -1.7970  0.1555  1.5178  6.0262 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  3.337e+01  1.200e+01   2.780 0.012821 *  
SWV         -8.818e-03  2.932e-03  -3.008 0.007923 ** 
sweep.prod   7.736e+00  1.938e+00   3.992 0.000943 ***
m_led       -2.274e-01  5.312e-02  -4.281 0.000506 ***
m_a0         2.556e-01  5.490e-02   4.656 0.000226 ***
m_ovality    1.783e+03  9.787e+02   1.822 0.086049 .  
m_a1         4.833e-02  2.230e-02   2.167 0.044723 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.564 on 17 degrees of freedom
Multiple R-squared:  0.7339,    Adjusted R-squared:   0.64 
F-statistic: 7.815 on 6 and 17 DF,  p-value: 0.0003758

Call:
lm(formula = y ~ SWV + m_led + density + m_sed, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4416 -1.2848  0.0444  1.0252  4.1047 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 15.2602020  3.5839449   4.258 4.42e-05 ***
SWV         -0.0041115  0.0006817  -6.031 2.32e-08 ***
m_led       -0.0285152  0.0097001  -2.940  0.00402 ** 
density      0.0071756  0.0023647   3.035  0.00302 ** 
m_sed        0.0155077  0.0104349   1.486  0.14016    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.634 on 108 degrees of freedom
Multiple R-squared:  0.4176,    Adjusted R-squared:  0.396 
F-statistic: 19.36 on 4 and 108 DF,  p-value: 4.946e-12

Call:
lm(formula = y ~ SWV + m_volume + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2678 -0.7506  0.1529  1.0158  2.3821 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)   
(Intercept)  20.354767   5.686286   3.580  0.00177 **
SWV          -0.004499   0.001560  -2.884  0.00889 **
m_volume    -28.560019  14.396247  -1.984  0.06050 . 
weight        0.022516   0.013175   1.709  0.10218   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.471 on 21 degrees of freedom
Multiple R-squared:  0.355, Adjusted R-squared:  0.2629 
F-statistic: 3.853 on 3 and 21 DF,  p-value: 0.02423

Call:
lm(formula = y ~ SWV + m_led + density + m_sed + m_sweep1, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-4.576 -1.782 -0.099  1.494  5.508 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 13.3355124  5.0898748   2.620 0.010071 *  
SWV         -0.0039981  0.0009606  -4.162 6.40e-05 ***
m_led       -0.0527561  0.0137747  -3.830 0.000216 ***
density      0.0138311  0.0033452   4.135 7.09e-05 ***
m_sed        0.0364908  0.0148036   2.465 0.015292 *  
m_sweep1    -0.5561260  0.3520536  -1.580 0.117136    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.302 on 107 degrees of freedom
Multiple R-squared:  0.4114,    Adjusted R-squared:  0.3839 
F-statistic: 14.96 on 5 and 107 DF,  p-value: 4.049e-11

Call:
lm(formula = y ~ SWV + m_volume + weight + m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.9754 -1.0723 -0.4065  1.5222  5.7799 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)   
(Intercept)   40.058243  10.742915   3.729  0.00133 **
SWV           -0.008161   0.002730  -2.990  0.00724 **
m_volume     -56.914548  24.163128  -2.355  0.02882 * 
weight         0.043924   0.022111   1.986  0.06085 . 
m_whorliness  -4.389246   2.604434  -1.685  0.10747   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.468 on 20 degrees of freedom
Multiple R-squared:  0.4167,    Adjusted R-squared:    0.3 
F-statistic: 3.571 on 4 and 20 DF,  p-value: 0.02357
  1. Chosen by visual inspection of saw patterns
xyplot(rec ~ volume, L, group=SWILogNumber%in%near.complete.sawpatterns)
for (lmeas in log.quality.measures) {
  models <- cf.full(lmeas, idx.sub=L$SWILogNumber%in%near.complete.sawpatterns)
}

Call:
lm(formula = y ~ SWV + density + m_a2 + hw.vfrac + m_led + m_whorliness, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6464 -0.4315  0.0184  0.4831  1.6250 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.305e+01  2.335e+00  -5.589 1.78e-07 ***
SWV           4.950e-03  3.376e-04  14.662  < 2e-16 ***
density       6.415e-03  1.885e-03   3.404  0.00094 ***
m_a2          6.667e-03  2.754e-03   2.421  0.01718 *  
hw.vfrac     -3.056e+00  1.266e+00  -2.413  0.01755 *  
m_led         2.925e-03  1.113e-03   2.628  0.00987 ** 
m_whorliness -6.037e-01  2.500e-01  -2.414  0.01748 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7714 on 106 degrees of freedom
Multiple R-squared:  0.751, Adjusted R-squared:  0.7369 
F-statistic: 53.27 on 6 and 106 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + weight + m_a0, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.70670 -0.18717  0.09253  0.29746  0.49427 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -2.005e+01  3.183e+00  -6.299 1.06e-05 ***
SWV          6.661e-03  4.793e-04  13.900 2.38e-10 ***
density      9.728e-03  2.164e-03   4.495 0.000367 ***
weight       6.061e-03  2.762e-03   2.195 0.043275 *  
m_a0        -1.323e-02  7.705e-03  -1.717 0.105287    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.3604 on 16 degrees of freedom
Multiple R-squared:  0.9514,    Adjusted R-squared:  0.9393 
F-statistic: 78.34 on 4 and 16 DF,  p-value: 2.67e-10

Call:
lm(formula = y ~ SWV + density + m_a2 + hw.vfrac + m_led + m_whorliness, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6464 -0.4315  0.0184  0.4831  1.6250 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.305e+01  2.335e+00  -5.589 1.78e-07 ***
SWV           4.950e-03  3.376e-04  14.662  < 2e-16 ***
density       6.415e-03  1.885e-03   3.404  0.00094 ***
m_a2          6.667e-03  2.754e-03   2.421  0.01718 *  
hw.vfrac     -3.056e+00  1.266e+00  -2.413  0.01755 *  
m_led         2.925e-03  1.113e-03   2.628  0.00987 ** 
m_whorliness -6.037e-01  2.500e-01  -2.414  0.01748 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7714 on 106 degrees of freedom
Multiple R-squared:  0.751, Adjusted R-squared:  0.7369 
F-statistic: 53.27 on 6 and 106 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + weight + m_a0, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.70670 -0.18717  0.09253  0.29746  0.49427 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -2.005e+01  3.183e+00  -6.299 1.06e-05 ***
SWV          6.661e-03  4.793e-04  13.900 2.38e-10 ***
density      9.728e-03  2.164e-03   4.495 0.000367 ***
weight       6.061e-03  2.762e-03   2.195 0.043275 *  
m_a0        -1.323e-02  7.705e-03  -1.717 0.105287    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.3604 on 16 degrees of freedom
Multiple R-squared:  0.9514,    Adjusted R-squared:  0.9393 
F-statistic: 78.34 on 4 and 16 DF,  p-value: 2.67e-10

Call:
lm(formula = y ~ SWV + density + m_a0 + m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0982 -0.4582 -0.0849  0.6509  3.3074 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.068e+01  2.419e+00  -4.413 2.46e-05 ***
SWV           3.428e-03  4.446e-04   7.711 7.14e-12 ***
density       1.076e-02  1.555e-03   6.917 3.62e-10 ***
m_a0         -5.665e-03  1.569e-03  -3.610  0.00047 ***
m_whorliness -9.176e-01  3.384e-01  -2.712  0.00781 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.061 on 106 degrees of freedom
Multiple R-squared:  0.5625,    Adjusted R-squared:  0.546 
F-statistic: 34.07 on 4 and 106 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_a0, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.1435 -0.5177 -0.2974  0.2317  3.1009 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)   
(Intercept) -13.221614   6.788385  -1.948  0.06816 . 
SWV           0.004603   0.001351   3.407  0.00336 **
density       0.009881   0.005123   1.929  0.07062 . 
m_a0         -0.008189   0.004271  -1.917  0.07214 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.024 on 17 degrees of freedom
Multiple R-squared:  0.7286,    Adjusted R-squared:  0.6807 
F-statistic: 15.22 on 3 and 17 DF,  p-value: 4.574e-05

Call:
lm(formula = y ~ SWV + density + m_a1 + m_sweep1 + m_ovality + 
    hw.vfrac, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.4303 -0.5042 -0.1239  0.6437  3.6348 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.416e+01  4.047e+00  -3.498 0.000733 ***
SWV          6.299e-03  5.837e-04  10.792  < 2e-16 ***
density      6.008e-03  3.373e-03   1.781 0.078294 .  
m_a1        -1.493e-02  4.419e-03  -3.378 0.001084 ** 
m_sweep1    -4.222e-01  2.125e-01  -1.987 0.050044 .  
m_ovality    3.387e+02  1.789e+02   1.893 0.061576 .  
hw.vfrac    -3.649e+00  2.202e+00  -1.657 0.100962    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.248 on 89 degrees of freedom
Multiple R-squared:   0.66, Adjusted R-squared:  0.637 
F-statistic: 28.79 on 6 and 89 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_ovality + m_taper + m_volume + 
    m_whorliness + m_sweep1 + hw.vfrac, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.29778 -0.18770 -0.08215  0.20673  0.51244 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -2.689e+01  2.516e+00 -10.688 8.61e-07 ***
SWV           7.296e-03  5.162e-04  14.135 6.18e-08 ***
density       1.370e-02  1.768e-03   7.748 1.56e-05 ***
m_ovality     3.858e+02  8.996e+01   4.289  0.00159 ** 
m_taper      -8.456e-02  2.654e-02  -3.187  0.00971 ** 
m_volume      1.685e+00  6.502e-01   2.592  0.02686 *  
m_whorliness  1.099e+00  3.989e-01   2.756  0.02028 *  
m_sweep1     -2.341e-01  1.422e-01  -1.646  0.13079    
hw.vfrac     -1.814e+00  1.660e+00  -1.092  0.30025    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.3199 on 10 degrees of freedom
Multiple R-squared:  0.9788,    Adjusted R-squared:  0.9619 
F-statistic: 57.78 on 8 and 10 DF,  p-value: 2.26e-07

Call:
lm(formula = y ~ SWV + m_a0 + weight + m_sweep1 + m_ovality + 
    m_a1, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.28074 -0.08097 -0.00794  0.06625  0.42431 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  1.509e+00  2.814e-01   5.361 6.58e-07 ***
SWV         -1.081e-04  6.759e-05  -1.599   0.1135    
m_a0        -2.265e-03  1.168e-03  -1.939   0.0557 .  
weight       6.249e-04  4.242e-04   1.473   0.1443    
m_sweep1     5.241e-02  2.294e-02   2.285   0.0247 *  
m_ovality   -3.539e+01  1.939e+01  -1.825   0.0714 .  
m_a1         8.768e-04  5.197e-04   1.687   0.0951 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.1351 on 88 degrees of freedom
Multiple R-squared:  0.2593,    Adjusted R-squared:  0.2088 
F-statistic: 5.134 on 6 and 88 DF,  p-value: 0.0001451

Call:
lm(formula = y ~ m_sed + m_led + m_ovality + m_whorliness, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.14159 -0.06416 -0.02260  0.01966  0.39860 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)    1.206767   0.184817   6.530 1.34e-05 ***
m_sed         -0.005454   0.001974  -2.763   0.0153 *  
m_led          0.004393   0.001791   2.453   0.0279 *  
m_ovality    -61.808328  35.285081  -1.752   0.1017    
m_whorliness  -0.235371   0.140462  -1.676   0.1160    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.132 on 14 degrees of freedom
Multiple R-squared:  0.4577,    Adjusted R-squared:  0.3028 
F-statistic: 2.954 on 4 and 14 DF,  p-value: 0.05797

Call:
lm(formula = y ~ density + sweep.prod + m_waist + m_a2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2187 -1.4615 -0.2139  1.0972 10.3181 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  12.094252   2.899470   4.171 6.14e-05 ***
density      -0.008411   0.003038  -2.768  0.00663 ** 
sweep.prod    2.042667   0.857806   2.381  0.01900 *  
m_waist     -38.089688  25.865324  -1.473  0.14376    
m_a2          0.404822   0.283115   1.430  0.15564    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.165 on 108 degrees of freedom
Multiple R-squared:  0.1638,    Adjusted R-squared:  0.1328 
F-statistic: 5.288 on 4 and 108 DF,  p-value: 0.0006287

Call:
lm(formula = y ~ 1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8139 -1.3834 -0.9012  0.4361 11.3666 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)    5.258      0.649   8.102 9.58e-08 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.974 on 20 degrees of freedom

Call:
lm(formula = y ~ density + m_sed + m_a1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-6.3515 -2.2370 -0.7273  1.3997 14.1913 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)   
(Intercept) 14.207336   4.377100   3.246  0.00156 **
density     -0.014262   0.004726  -3.018  0.00318 **
m_sed        0.012210   0.004824   2.531  0.01283 * 
m_a1         0.021119   0.010744   1.966  0.05192 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.338 on 107 degrees of freedom
Multiple R-squared:  0.1264,    Adjusted R-squared:  0.1019 
F-statistic: 5.159 on 3 and 107 DF,  p-value: 0.002275

Call:
lm(formula = y ~ 1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.6944 -2.4611 -0.2111  1.0389 13.3056 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   6.2944     0.8281   7.601 2.55e-07 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.795 on 20 degrees of freedom

Call:
lm(formula = y ~ SWV + m_waist + m_a2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.4509 -1.5887 -0.5386  1.0625 10.2911 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)   
(Intercept)  11.942566   3.582819   3.333  0.00123 **
SWV          -0.002244   0.001086  -2.066  0.04159 * 
m_waist     -53.844271  31.306135  -1.720  0.08874 . 
m_a2          0.574311   0.342203   1.678  0.09661 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.52 on 94 degrees of freedom
Multiple R-squared:  0.09871,   Adjusted R-squared:  0.06995 
F-statistic: 3.432 on 3 and 94 DF,  p-value: 0.02015

Call:
lm(formula = y ~ SWV + m_a0 + m_volume + m_sed + weight + m_a1 + 
    m_led + m_taper + m_waist + m_a2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.7645 -0.5759  0.2205  0.7094  1.3483 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)   
(Intercept)  8.517e+01  1.926e+01   4.423  0.00166 **
SWV         -1.389e-02  3.555e-03  -3.906  0.00359 **
m_a0        -1.530e-01  1.268e-01  -1.207  0.25837   
m_volume     1.219e+02  3.323e+01   3.669  0.00516 **
m_sed        2.630e-01  7.630e-02   3.447  0.00731 **
weight      -7.660e-02  2.161e-02  -3.545  0.00626 **
m_a1        -1.666e+00  7.629e-01  -2.183  0.05688 . 
m_led       -2.719e-01  7.152e-02  -3.802  0.00420 **
m_taper      8.904e+00  3.706e+00   2.403  0.03972 * 
m_waist     -3.233e+02  7.726e+01  -4.185  0.00236 **
m_a2         1.895e+00  8.199e-01   2.312  0.04610 * 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.378 on 9 degrees of freedom
Multiple R-squared:  0.8949,    Adjusted R-squared:  0.7782 
F-statistic: 7.667 on 10 and 9 DF,  p-value: 0.002621

Call:
lm(formula = y ~ SWV + density + m_whorliness + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-8.5526 -2.1948 -0.5343  1.6360 15.9240 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  50.677145   8.169233   6.203 1.04e-08 ***
SWV          -0.006277   0.001527  -4.112 7.67e-05 ***
density      -0.016368   0.005161  -3.172  0.00197 ** 
m_whorliness -2.400092   1.140879  -2.104  0.03772 *  
m_taper      -0.233965   0.125925  -1.858  0.06590 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.566 on 108 degrees of freedom
Multiple R-squared:  0.1962,    Adjusted R-squared:  0.1664 
F-statistic: 6.589 on 4 and 108 DF,  p-value: 8.771e-05

Call:
lm(formula = y ~ SWV + m_led + m_a1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.4833 -1.2486 -0.4416  1.9113  4.4711 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 86.50366   19.50337   4.435 0.000363 ***
SWV         -0.01948    0.00460  -4.236 0.000557 ***
m_led       -0.03015    0.01243  -2.426 0.026685 *  
m_a1        -0.04164    0.02580  -1.614 0.125005    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.824 on 17 degrees of freedom
Multiple R-squared:  0.5505,    Adjusted R-squared:  0.4711 
F-statistic: 6.939 on 3 and 17 DF,  p-value: 0.002966

Call:
lm(formula = y ~ SWV + m_ovality + density + m_whorliness + m_a1, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-9.4893 -3.3069 -0.5184  2.3588 17.7155 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)   5.634e+01  1.173e+01   4.802 5.24e-06 ***
SWV          -7.652e-03  2.182e-03  -3.507 0.000668 ***
m_ovality     1.873e+03  7.077e+02   2.646 0.009390 ** 
density      -1.829e-02  7.345e-03  -2.490 0.014350 *  
m_whorliness -2.890e+00  1.624e+00  -1.780 0.077937 .  
m_a1         -2.640e-02  1.735e-02  -1.522 0.131065    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.082 on 105 degrees of freedom
Multiple R-squared:  0.1844,    Adjusted R-squared:  0.1456 
F-statistic: 4.749 on 5 and 105 DF,  p-value: 0.0005952

Call:
lm(formula = y ~ SWV + m_ovality + m_whorliness + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-8.5884 -3.6210  0.4863  2.8844  9.1941 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)   
(Intercept)   7.624e+01  2.236e+01   3.410  0.00359 **
SWV          -2.094e-02  5.895e-03  -3.552  0.00265 **
m_ovality     2.646e+03  1.412e+03   1.874  0.07936 . 
m_whorliness  9.132e+00  5.657e+00   1.614  0.12601   
m_taper      -5.635e-01  3.774e-01  -1.493  0.15493   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.448 on 16 degrees of freedom
Multiple R-squared:  0.5543,    Adjusted R-squared:  0.4429 
F-statistic: 4.975 on 4 and 16 DF,  p-value: 0.00846

Call:
lm(formula = y ~ SWV + density + m_taper, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-9.946 -3.105 -0.955  2.327 29.900 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 75.091423  14.652257   5.125 1.59e-06 ***
SWV         -0.010613   0.002732  -3.884 0.000191 ***
density     -0.027779   0.009864  -2.816 0.005921 ** 
m_taper     -0.460498   0.208543  -2.208 0.029664 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.96 on 94 degrees of freedom
Multiple R-squared:  0.1844,    Adjusted R-squared:  0.1584 
F-statistic: 7.083 on 3 and 94 DF,  p-value: 0.0002418

Call:
lm(formula = y ~ SWV + m_a0 + hw.vfrac + m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-8.4976 -3.4642  0.1459  3.1434 15.1500 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)   
(Intercept)  135.928624  33.825081   4.019  0.00112 **
SWV           -0.025060   0.008128  -3.083  0.00757 **
m_a0          -0.083429   0.024781  -3.367  0.00424 **
hw.vfrac     -38.914741  22.744306  -1.711  0.10768   
m_whorliness  -9.543790   6.440547  -1.482  0.15909   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.898 on 15 degrees of freedom
Multiple R-squared:  0.5262,    Adjusted R-squared:  0.3998 
F-statistic: 4.164 on 4 and 15 DF,  p-value: 0.01826

Call:
lm(formula = y ~ SWV + m_led + density + m_sed, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4416 -1.2848  0.0444  1.0252  4.1047 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 15.2602020  3.5839449   4.258 4.42e-05 ***
SWV         -0.0041115  0.0006817  -6.031 2.32e-08 ***
m_led       -0.0285152  0.0097001  -2.940  0.00402 ** 
density      0.0071756  0.0023647   3.035  0.00302 ** 
m_sed        0.0155077  0.0104349   1.486  0.14016    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.634 on 108 degrees of freedom
Multiple R-squared:  0.4176,    Adjusted R-squared:  0.396 
F-statistic: 19.36 on 4 and 108 DF,  p-value: 4.946e-12

Call:
lm(formula = y ~ SWV + m_led + m_whorliness + hw.vfrac, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.8945 -0.5266 -0.1464  0.9082  1.8528 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  30.459560   6.808582   4.474 0.000384 ***
SWV          -0.005985   0.001618  -3.698 0.001949 ** 
m_led        -0.014924   0.004404  -3.389 0.003745 ** 
m_whorliness -2.370611   1.210732  -1.958 0.067903 .  
hw.vfrac     -5.814268   4.201633  -1.384 0.185418    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.145 on 16 degrees of freedom
Multiple R-squared:  0.5512,    Adjusted R-squared:  0.439 
F-statistic: 4.913 on 4 and 16 DF,  p-value: 0.008902

Call:
lm(formula = y ~ SWV + m_led + density + m_sed + m_sweep1, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-4.576 -1.782 -0.099  1.494  5.508 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 13.3355124  5.0898748   2.620 0.010071 *  
SWV         -0.0039981  0.0009606  -4.162 6.40e-05 ***
m_led       -0.0527561  0.0137747  -3.830 0.000216 ***
density      0.0138311  0.0033452   4.135 7.09e-05 ***
m_sed        0.0364908  0.0148036   2.465 0.015292 *  
m_sweep1    -0.5561260  0.3520536  -1.580 0.117136    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.302 on 107 degrees of freedom
Multiple R-squared:  0.4114,    Adjusted R-squared:  0.3839 
F-statistic: 14.96 on 5 and 107 DF,  p-value: 4.049e-11

Call:
lm(formula = y ~ SWV + m_led + m_whorliness + m_taper + m_sed + 
    m_a1 + m_a2 + hw.vfrac, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.2775 -0.5499 -0.2484  0.8138  1.9334 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)   
(Intercept)  40.475169  11.009177   3.676  0.00317 **
SWV          -0.008303   0.002532  -3.278  0.00660 **
m_led         0.072152   0.043742   1.650  0.12496   
m_whorliness -2.805539   1.246491  -2.251  0.04394 * 
m_taper      -6.822035   2.695447  -2.531  0.02637 * 
m_sed        -0.084517   0.039825  -2.122  0.05532 . 
m_a1          1.325251   0.567780   2.334  0.03779 * 
m_a2          1.302610   0.567042   2.297  0.04040 * 
hw.vfrac     -7.669701   4.630325  -1.656  0.12353   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.171 on 12 degrees of freedom
Multiple R-squared:  0.8209,    Adjusted R-squared:  0.7015 
F-statistic: 6.876 on 8 and 12 DF,  p-value: 0.001684

3 Conclusions

Best off using a dynamic estimate of board stiffness based on manual hitman velocity and CHH total density, but other measures of board stiffness (including Metriguard CLT) give similar results.

Green log SWV alone very poorly predicts average dry board stiffness.

Distance from pith at LE has limitations as a predictor for average distance from the pith throughout a board.

The saw pattern plots above indicate that there are a lot of boards missing from the dataset. While in routine operation this is ineveitable (and hence an unaviodable if log performance is to be predicted) in a research context this adds extra confusion owing to the boards being missing to different degrees in different logs and the missing boards being clustered (rather than randomly distributed) within individual logs.

4 Todo